juntekim.com/n8n/n8n.yml
Jun-te Kim 3d45fa32a0 save
2025-12-07 15:21:39 +00:00

89 lines
1.7 KiB
YAML

apiVersion: v1
kind: Service
metadata:
name: n8n
namespace: default
spec:
ports:
- protocol: TCP
name: web
port: 5678
targetPort: 5678
selector:
app: n8n
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: n8n
namespace: default
labels:
app: n8n
spec:
replicas: 1
selector:
matchLabels:
app: n8n
template:
metadata:
labels:
app: n8n
spec:
containers:
- name: n8n
image: n8nio/n8n:latest
ports:
- name: web
containerPort: 5678
env:
- name: N8N_HOST
value: "n8n.juntekim.com"
- name: N8N_PORT
value: "5678"
- name: N8N_PROTOCOL
value: "https"
- name: WEBHOOK_URL
value: "https://n8n.juntekim.com/"
- name: GENERIC_TIMEZONE
value: "Europe/London"
- name: NODE_ENV
value: "production"
volumeMounts:
- name: n8n-data
mountPath: /home/node/.n8n
volumes:
- name: n8n-data
persistentVolumeClaim:
claimName: n8n-pvc
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: n8n-pvc
namespace: default
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
storageClassName: microk8s-hostpath
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: n8n-ingressroute
namespace: default
spec:
entryPoints:
- websecure
routes:
- match: Host(`n8n.juntekim.com`)
kind: Rule
services:
- name: n8n
port: 5678
tls:
certResolver: myresolver
domains:
- main: n8n.juntekim.com