apiVersion: apps/v1 kind: StatefulSet metadata: namespace: n8n name: n8n spec: replicas: 1 selector: matchLabels: app: n8n serviceName: n8n-svc template: metadata: labels: app: n8n spec: restartPolicy: Always terminationGracePeriodSeconds: 10 containers: - name: n8n image: docker.n8n.io/n8nio/n8n imagePullPolicy: Always resources: requests: cpu: 200m memory: 512Mi limits: cpu: 1000m memory: 1Gi volumeMounts: - name: data mountPath: /home/node/.n8n env: - name: GENERIC_TIMEZONE value: "Europe/Brussels" - name: TZ value: "Europe/Brussels" - name: N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS value: "true" - name: N8N_HOST value: "0.0.0.0" - name: DB_TYPE value: postgresdb - name: DB_POSTGRESDB_DATABASE valueFrom: secretKeyRef: name: n8n-secrets key: db_name - name: DB_POSTGRESDB_HOST valueFrom: secretKeyRef: name: n8n-secrets key: db_host - name: DB_POSTGRESDB_PORT valueFrom: secretKeyRef: name: n8n-secrets key: db_port - name: DB_POSTGRESDB_USER valueFrom: secretKeyRef: name: n8n-secrets key: db_user - name: DB_POSTGRESDB_PASSWORD valueFrom: secretKeyRef: name: n8n-secrets key: db_password ports: - containerPort: 5678 volumes: - name: data persistentVolumeClaim: claimName: n8n-pvc