nzbget and rutorrent share gluetun's network namespace via network_mode: service:gluetun. When autoheal restarts gluetun, the dependent containers lose their network and fail silently. Added healthchecks so autoheal detects and restarts them too: - nzbget: curl localhost:6789 - rutorrent: curl localhost:80 - depends_on changed to condition: service_healthy New deploy-download-stack.yml playbook stages startup (gluetun first, wait for healthy, then dependents) since the LXC host lacks Python requests for community.docker modules. Also added resource limits to mealie (512M memory, 1 CPU). Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
63 lines
1.9 KiB
YAML
63 lines
1.9 KiB
YAML
services:
|
|
mealie:
|
|
image: ghcr.io/mealie-recipes/mealie:latest
|
|
container_name: mealie
|
|
restart: unless-stopped
|
|
ports:
|
|
- "9925:9000"
|
|
# Override entrypoint to trust X-Forwarded headers from reverse proxy
|
|
entrypoint: uvicorn mealie.app:app --host 0.0.0.0 --port 9000 --forwarded-allow-ips=*
|
|
environment:
|
|
# Core settings
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=America/New_York
|
|
- BASE_URL=https://food.3ddbrewery.com
|
|
- ALLOW_SIGNUP=false
|
|
- AUTO_BACKUP_ENABLED=true
|
|
- API_PORT=9000
|
|
- TOKEN_TIME=720
|
|
# Database - external shared PostgreSQL
|
|
- DB_ENGINE=postgres
|
|
- POSTGRES_USER=mealie
|
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
|
- POSTGRES_SERVER=192.168.1.81
|
|
- POSTGRES_PORT=5432
|
|
- POSTGRES_DB=mealie
|
|
# OIDC - Authentik
|
|
- OIDC_AUTH_ENABLED=true
|
|
- OIDC_SIGNUP_ENABLED=true
|
|
- OIDC_CONFIGURATION_URL=https://id.3ddbrewery.com/application/o/mealie/.well-known/openid-configuration
|
|
- OIDC_CLIENT_ID=${OIDC_CLIENT_ID}
|
|
- OIDC_CLIENT_SECRET=${OIDC_CLIENT_SECRET}
|
|
- OIDC_AUTO_REDIRECT=false
|
|
- OIDC_PROVIDER_NAME=Authentik
|
|
# SMTP
|
|
- SMTP_HOST=smtp.gmail.com
|
|
- SMTP_PORT=587
|
|
- SMTP_AUTH_STRATEGY=TLS
|
|
- SMTP_FROM_NAME=Mealie
|
|
- SMTP_FROM_EMAIL=xoppaw@gmail.com
|
|
- SMTP_USER=xoppaw@gmail.com
|
|
- SMTP_PASSWORD=${SMTP_PASSWORD}
|
|
# AI config
|
|
- OPENAI_BASE_URL=http://192.168.1.70:11434/v1
|
|
- OPENAI_API_KEY=${OPENAI_API_KEY}
|
|
- OPENAI_SEND_DATABASE_DATA=true
|
|
- OPENAI_MODEL=tinyllama
|
|
volumes:
|
|
- /home/docker/appdata/mealie/data:/app/data
|
|
networks:
|
|
- proxy
|
|
labels:
|
|
- "com.centurylinklabs.watchtower.enable=true"
|
|
- "autoheal=true"
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 512M
|
|
cpus: '1.0'
|
|
|
|
networks:
|
|
proxy:
|
|
external: true
|