Files
automation/kubernetes-templates/mealie-recipes.yml
T

122 lines
2.5 KiB
YAML

---
apiVersion: v1
kind: Namespace
metadata:
name: mealie
---
apiVersion: v1
kind: Secret
metadata:
name: mealie-secrets
namespace: mealie
type: Opaque
data:
POSTGRES_PASSWORD: RmJsV0xPTlM4alVjNUE=
SMTP_PASSWORD: XylSUURvK2ZiXig0eF1eLg==
---
apiVersion: v1
kind: ConfigMap
metadata:
name: mealie-config
namespace: mealie
data:
BASE_URL: "https://mealie.khongisa.co.za"
TRUSTED_PROXIES: "10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,169.255.58.144"
ALLOW_SIGNUP: "true"
PUID: "1000"
PGID: "1000"
TZ: "Africa/Johannesburg"
SMTP_HOST: "mail.mngoma.africa"
SMTP_PORT: "465"
SMTP_FROM_NAME: "Mealie Recipes"
SMTP_FROM_EMAIL: "mealie@mngoma.africa"
SMTP_USER: "mealie@mngoma.africa"
SMTP_AUTH_STRATEGY: "SSL"
DB_ENGINE: "postgres"
POSTGRES_USER: "mealie_user"
POSTGRES_DB: "mealie"
POSTGRES_SERVER: "192.168.1.170"
POSTGRES_PORT: "5432"
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mealie-data-pvc
namespace: mealie
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mealie
namespace: mealie
spec:
replicas: 1
selector:
matchLabels:
app: mealie
template:
metadata:
labels:
app: mealie
annotations:
last-updated: "2026-04-24T17:52:00"
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: node-role.kubernetes.io/control-plane
operator: DoesNotExist
containers:
- name: mealie
image: ghcr.io/mealie-recipes/mealie:latest
ports:
- containerPort: 9000
envFrom:
- configMapRef:
name: mealie-config
- secretRef:
name: mealie-secrets
volumeMounts:
- name: mealie-data
mountPath: /app/data
volumes:
- name: mealie-data
persistentVolumeClaim:
claimName: mealie-data-pvc
---
apiVersion: v1
kind: Service
metadata:
name: mealie-service
namespace: mealie
spec:
type: ClusterIP
selector:
app: mealie
ports:
- protocol: TCP
port: 80
targetPort: 9000
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: mealie-web
namespace: mealie
spec:
entryPoints:
- websecure
routes:
- match: Host(`mealie.khongisa.co.za`)
kind: Rule
services:
- name: mealie-service
port: 80