Compare commits
9 Commits
auto-updat
...
auto-updat
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
14e766ca58 | ||
| 38f3fe57dc | |||
| 6b43f79fe2 | |||
| 84cca7223b | |||
|
|
47734f3447 | ||
|
|
35cc4c71c9 | ||
|
|
60400c5b3d | ||
|
|
8924e60a33 | ||
|
|
da9aad3aec |
@@ -45,6 +45,7 @@ ArgoCD homelab project
|
|||||||
| **jellyfin** | [](https://ag.hexor.cy/applications/argocd/jellyfin) |
|
| **jellyfin** | [](https://ag.hexor.cy/applications/argocd/jellyfin) |
|
||||||
| **k8s-secrets** | [](https://ag.hexor.cy/applications/argocd/k8s-secrets) |
|
| **k8s-secrets** | [](https://ag.hexor.cy/applications/argocd/k8s-secrets) |
|
||||||
| **khm** | [](https://ag.hexor.cy/applications/argocd/khm) |
|
| **khm** | [](https://ag.hexor.cy/applications/argocd/khm) |
|
||||||
|
| **mtproxy** | [](https://ag.hexor.cy/applications/argocd/mtproxy) |
|
||||||
| **n8n** | [](https://ag.hexor.cy/applications/argocd/n8n) |
|
| **n8n** | [](https://ag.hexor.cy/applications/argocd/n8n) |
|
||||||
| **ollama** | [](https://ag.hexor.cy/applications/argocd/ollama) |
|
| **ollama** | [](https://ag.hexor.cy/applications/argocd/ollama) |
|
||||||
| **paperless** | [](https://ag.hexor.cy/applications/argocd/paperless) |
|
| **paperless** | [](https://ag.hexor.cy/applications/argocd/paperless) |
|
||||||
|
|||||||
@@ -50,10 +50,12 @@ spec:
|
|||||||
runAsNonRoot: true
|
runAsNonRoot: true
|
||||||
containers:
|
containers:
|
||||||
- name: n8n
|
- name: n8n
|
||||||
image: docker.n8n.io/n8nio/n8n:latest
|
image: n8nio/n8n:latest
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 5678
|
- containerPort: 5678
|
||||||
name: http
|
name: http
|
||||||
|
- containerPort: 5679
|
||||||
|
name: task-broker
|
||||||
env:
|
env:
|
||||||
- name: PATH
|
- name: PATH
|
||||||
value: "/opt/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
value: "/opt/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
||||||
@@ -73,6 +75,10 @@ spec:
|
|||||||
value: "true"
|
value: "true"
|
||||||
- name: N8N_RUNNERS_MODE
|
- name: N8N_RUNNERS_MODE
|
||||||
value: "external"
|
value: "external"
|
||||||
|
- name: N8N_RUNNERS_BROKER_LISTEN_ADDRESS
|
||||||
|
value: "0.0.0.0"
|
||||||
|
- name: N8N_RUNNERS_BROKER_PORT
|
||||||
|
value: "5679"
|
||||||
- name: EXECUTIONS_MODE
|
- name: EXECUTIONS_MODE
|
||||||
value: "queue"
|
value: "queue"
|
||||||
- name: QUEUE_BULL_REDIS_HOST
|
- name: QUEUE_BULL_REDIS_HOST
|
||||||
@@ -127,18 +133,18 @@ spec:
|
|||||||
httpGet:
|
httpGet:
|
||||||
path: /healthz
|
path: /healthz
|
||||||
port: http
|
port: http
|
||||||
initialDelaySeconds: 120
|
initialDelaySeconds: 240
|
||||||
periodSeconds: 30
|
periodSeconds: 30
|
||||||
timeoutSeconds: 10
|
timeoutSeconds: 20
|
||||||
failureThreshold: 6
|
failureThreshold: 10
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
httpGet:
|
httpGet:
|
||||||
path: /healthz/readiness
|
path: /healthz/readiness
|
||||||
port: http
|
port: http
|
||||||
initialDelaySeconds: 60
|
initialDelaySeconds: 120
|
||||||
periodSeconds: 10
|
periodSeconds: 10
|
||||||
timeoutSeconds: 5
|
timeoutSeconds: 5
|
||||||
failureThreshold: 10
|
failureThreshold: 15
|
||||||
volumes:
|
volumes:
|
||||||
- name: n8n-data
|
- name: n8n-data
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
|
|||||||
87
k8s/apps/n8n/deployment-runner.yaml
Normal file
87
k8s/apps/n8n/deployment-runner.yaml
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: n8n-runner
|
||||||
|
labels:
|
||||||
|
app: n8n
|
||||||
|
component: runner
|
||||||
|
spec:
|
||||||
|
replicas: 2
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: n8n
|
||||||
|
component: runner
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: n8n
|
||||||
|
component: runner
|
||||||
|
spec:
|
||||||
|
serviceAccountName: n8n
|
||||||
|
containers:
|
||||||
|
- name: n8n-runner
|
||||||
|
image: n8nio/runners:latest
|
||||||
|
ports:
|
||||||
|
- containerPort: 5680
|
||||||
|
name: health
|
||||||
|
env:
|
||||||
|
- name: PATH
|
||||||
|
value: "/opt/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
||||||
|
- name: HOME
|
||||||
|
value: "/home/node"
|
||||||
|
- name: N8N_RUNNERS_TASK_BROKER_URI
|
||||||
|
value: "http://n8n:5679"
|
||||||
|
- name: N8N_RUNNERS_LAUNCHER_LOG_LEVEL
|
||||||
|
value: "info"
|
||||||
|
- name: N8N_RUNNERS_MAX_CONCURRENCY
|
||||||
|
value: "10"
|
||||||
|
- name: GENERIC_TIMEZONE
|
||||||
|
value: "Europe/Moscow"
|
||||||
|
- name: TZ
|
||||||
|
value: "Europe/Moscow"
|
||||||
|
- name: N8N_RUNNERS_AUTH_TOKEN
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: credentials
|
||||||
|
key: runnertoken
|
||||||
|
volumeMounts:
|
||||||
|
- name: n8n-data
|
||||||
|
mountPath: /home/node/.n8n
|
||||||
|
- name: tools
|
||||||
|
mountPath: /opt/tools
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 500m
|
||||||
|
memory: 512Mi
|
||||||
|
limits:
|
||||||
|
cpu: 2000m
|
||||||
|
memory: 2048Mi
|
||||||
|
livenessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /healthz
|
||||||
|
port: 5680
|
||||||
|
initialDelaySeconds: 30
|
||||||
|
periodSeconds: 30
|
||||||
|
timeoutSeconds: 5
|
||||||
|
failureThreshold: 3
|
||||||
|
readinessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /healthz
|
||||||
|
port: 5680
|
||||||
|
initialDelaySeconds: 15
|
||||||
|
periodSeconds: 10
|
||||||
|
timeoutSeconds: 5
|
||||||
|
failureThreshold: 3
|
||||||
|
volumes:
|
||||||
|
- name: n8n-data
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: n8n-data
|
||||||
|
- name: tools
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: n8n-tools
|
||||||
|
securityContext:
|
||||||
|
runAsUser: 1000
|
||||||
|
runAsGroup: 1000
|
||||||
|
runAsNonRoot: true
|
||||||
|
fsGroup: 1000
|
||||||
@@ -1,112 +0,0 @@
|
|||||||
---
|
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: n8n-worker
|
|
||||||
labels:
|
|
||||||
app: n8n
|
|
||||||
component: worker
|
|
||||||
spec:
|
|
||||||
replicas: 2
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
app: n8n
|
|
||||||
component: worker
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
app: n8n
|
|
||||||
component: worker
|
|
||||||
spec:
|
|
||||||
serviceAccountName: n8n
|
|
||||||
containers:
|
|
||||||
- name: n8n-worker
|
|
||||||
image: docker.n8n.io/n8nio/n8n:latest
|
|
||||||
command: ["n8n", "worker"]
|
|
||||||
env:
|
|
||||||
- name: PATH
|
|
||||||
value: "/opt/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
|
||||||
- name: HOME
|
|
||||||
value: "/home/node"
|
|
||||||
- name: NODES_EXCLUDE
|
|
||||||
value: "[]"
|
|
||||||
- name: N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS
|
|
||||||
value: "true"
|
|
||||||
- name: N8N_RUNNERS_ENABLED
|
|
||||||
value: "true"
|
|
||||||
- name: N8N_RUNNERS_MODE
|
|
||||||
value: "external"
|
|
||||||
- name: N8N_PORT
|
|
||||||
value: "80"
|
|
||||||
- name: EXECUTIONS_MODE
|
|
||||||
value: "queue"
|
|
||||||
- name: QUEUE_BULL_REDIS_HOST
|
|
||||||
value: "n8n-redis"
|
|
||||||
- name: N8N_RUNNERS_TASK_BROKER_URI
|
|
||||||
value: "http://n8n:80"
|
|
||||||
- name: NODE_ENV
|
|
||||||
value: "production"
|
|
||||||
- name: GENERIC_TIMEZONE
|
|
||||||
value: "Europe/Moscow"
|
|
||||||
- name: TZ
|
|
||||||
value: "Europe/Moscow"
|
|
||||||
- name: DB_TYPE
|
|
||||||
value: "postgresdb"
|
|
||||||
- name: DB_POSTGRESDB_HOST
|
|
||||||
value: "psql.psql.svc"
|
|
||||||
- name: DB_POSTGRESDB_DATABASE
|
|
||||||
value: "n8n"
|
|
||||||
- name: DB_POSTGRESDB_USER
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: credentials
|
|
||||||
key: username
|
|
||||||
- name: DB_POSTGRESDB_PASSWORD
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: credentials
|
|
||||||
key: password
|
|
||||||
- name: N8N_ENCRYPTION_KEY
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: credentials
|
|
||||||
key: encryptionkey
|
|
||||||
- name: N8N_RUNNERS_AUTH_TOKEN
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: credentials
|
|
||||||
key: runnertoken
|
|
||||||
volumeMounts:
|
|
||||||
- name: n8n-data
|
|
||||||
mountPath: /home/node/.n8n
|
|
||||||
- name: tools
|
|
||||||
mountPath: /opt/tools
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: 2000m
|
|
||||||
memory: 512Mi
|
|
||||||
limits:
|
|
||||||
cpu: 4000m
|
|
||||||
memory: 2048Gi
|
|
||||||
livenessProbe:
|
|
||||||
exec:
|
|
||||||
command:
|
|
||||||
- /bin/sh
|
|
||||||
- -c
|
|
||||||
- "ps aux | grep '[n]8n worker' || exit 1"
|
|
||||||
initialDelaySeconds: 30
|
|
||||||
periodSeconds: 30
|
|
||||||
timeoutSeconds: 5
|
|
||||||
failureThreshold: 3
|
|
||||||
volumes:
|
|
||||||
- name: n8n-data
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: n8n-data
|
|
||||||
- name: tools
|
|
||||||
persistentVolumeClaim:
|
|
||||||
claimName: n8n-tools
|
|
||||||
securityContext:
|
|
||||||
runAsUser: 1000
|
|
||||||
runAsGroup: 1000
|
|
||||||
runAsNonRoot: true
|
|
||||||
fsGroup: 1000
|
|
||||||
@@ -10,7 +10,8 @@ resources:
|
|||||||
- paddleocr-deployment.yaml
|
- paddleocr-deployment.yaml
|
||||||
- paddleocr-service.yaml
|
- paddleocr-service.yaml
|
||||||
- deployment-main.yaml
|
- deployment-main.yaml
|
||||||
- deployment-worker.yaml
|
# - deployment-worker.yaml
|
||||||
|
- deployment-runner.yaml
|
||||||
- service.yaml
|
- service.yaml
|
||||||
- ingress.yaml
|
- ingress.yaml
|
||||||
|
|
||||||
|
|||||||
@@ -32,14 +32,12 @@ spec:
|
|||||||
cpu: 1000m
|
cpu: 1000m
|
||||||
memory: 2Gi
|
memory: 2Gi
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
httpGet:
|
tcpSocket:
|
||||||
path: /
|
|
||||||
port: 5000
|
port: 5000
|
||||||
initialDelaySeconds: 60
|
initialDelaySeconds: 60
|
||||||
periodSeconds: 30
|
periodSeconds: 30
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
httpGet:
|
tcpSocket:
|
||||||
path: /
|
|
||||||
port: 5000
|
port: 5000
|
||||||
initialDelaySeconds: 30
|
initialDelaySeconds: 30
|
||||||
periodSeconds: 10
|
periodSeconds: 10
|
||||||
|
|||||||
@@ -14,4 +14,8 @@ spec:
|
|||||||
port: 80
|
port: 80
|
||||||
targetPort: 5678
|
targetPort: 5678
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
|
- name: task-broker
|
||||||
|
port: 5679
|
||||||
|
targetPort: 5679
|
||||||
|
protocol: TCP
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
image:
|
image:
|
||||||
tag: 2.20.3
|
tag: latest
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
memory: "1Gi"
|
memory: "1Gi"
|
||||||
@@ -9,7 +9,7 @@ resources:
|
|||||||
cpu: "3000m"
|
cpu: "3000m"
|
||||||
initContainers:
|
initContainers:
|
||||||
install-tesseract-langs:
|
install-tesseract-langs:
|
||||||
image: ghcr.io/paperless-ngx/paperless-ngx:2.18.2
|
image: ghcr.io/paperless-ngx/paperless-ngx:latest
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
memory: "256Mi"
|
memory: "256Mi"
|
||||||
|
|||||||
@@ -17,6 +17,10 @@ spec:
|
|||||||
{{ .username }}
|
{{ .username }}
|
||||||
AUTHENTIK_POSTGRESQL__PASSWORD: |-
|
AUTHENTIK_POSTGRESQL__PASSWORD: |-
|
||||||
{{ .password }}
|
{{ .password }}
|
||||||
|
POSTGRES_PASSWORD: |-
|
||||||
|
{{ .password }}
|
||||||
|
POSTGRES_USER: |-
|
||||||
|
{{ .username }}
|
||||||
AUTHENTIK_SECRET_KEY: |-
|
AUTHENTIK_SECRET_KEY: |-
|
||||||
{{ .secret_key }}
|
{{ .secret_key }}
|
||||||
data:
|
data:
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ resources:
|
|||||||
helmCharts:
|
helmCharts:
|
||||||
- name: authentik
|
- name: authentik
|
||||||
repo: https://charts.goauthentik.io
|
repo: https://charts.goauthentik.io
|
||||||
version: 2025.10.1
|
version: 2026.2.0
|
||||||
releaseName: authentik
|
releaseName: authentik
|
||||||
namespace: authentik
|
namespace: authentik
|
||||||
valuesFile: values.yaml
|
valuesFile: values.yaml
|
||||||
|
|||||||
Reference in New Issue
Block a user