2026-04-22 14:31:16 -07:00

92 lines
2.2 KiB
YAML
Executable File

apiVersion: apps/v1
kind: Deployment
metadata:
name: mealie
labels:
app: mealie
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: mealie
template:
metadata:
labels:
app: mealie
spec:
nodeSelector:
homelab/node-role: worker
containers:
- name: mealie
image: {{ .Values.image }}
ports:
- containerPort: 9000
resources:
limits:
memory: {{ .Values.resources.limits.memory }}
env:
- name: PUID
value: {{ .Values.puid | quote }}
- name: PGID
value: {{ .Values.pgid | quote }}
- name: TZ
value: {{ .Values.tz | quote }}
- name: MAX_WORKERS
value: "1"
- name: WEB_CONCURRENCY
value: "1"
- name: ALLOW_SIGNUP
value: "false"
- name: BASE_URL
value: https://mealie.{{ .Values.domain }}
- name: OPENAI_BASE_URL
value: {{ .Values.ai.baseUrl }}
- name: OPENAI_MODEL
value: {{ .Values.ai.model }}
- name: OPENAI_API_KEY
valueFrom:
secretKeyRef:
name: {{ .Values.secretName }}
key: OPENAI_API_KEY
volumeMounts:
- name: data
mountPath: /app/data
volumes:
- name: data
hostPath:
path: /dogstore/service-data/mealie
type: DirectoryOrCreate
---
apiVersion: v1
kind: Service
metadata:
name: mealie
spec:
selector:
app: mealie
ports:
- port: 9000
targetPort: 9000
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: mealie
annotations:
traefik.ingress.kubernetes.io/router.entrypoints: websecure
traefik.ingress.kubernetes.io/router.tls.certresolver: {{ .Values.certResolver }}
spec:
rules:
- host: mealie.{{ .Values.domain }}
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: mealie
port:
number: 9000