Files
app-catalog-felhom.eu/templates/mealie/docker-compose.yml
T
2026-02-14 18:57:02 +01:00

57 lines
1.5 KiB
YAML

# Mealie - Recipe Manager & Meal Planner
# Domain: recipes.${DOMAIN}
# Database: None (SQLite, built-in)
# RAM: ~200MB (mem_limit: 1000M) | Pi-compatible: Yes (arm64 only)
#
# Environment variables:
# DOMAIN - Your domain (e.g., demo-felhom.eu)
#
# Storage layout:
# Recipe data/images → mealie_data (named volume, NVMe — moderate size)
#
# First-time setup:
# Default login: changeme@example.com / MyPassword
# Change immediately after first login!
services:
mealie:
image: ghcr.io/mealie-recipes/mealie:v3.10.2
container_name: mealie
restart: unless-stopped
environment:
- ALLOW_SIGNUP=false
- PUID=1000
- PGID=1000
- TZ=Europe/Budapest
- MAX_WORKERS=1
- WEB_CONCURRENCY=1
- BASE_URL=https://recipes.${DOMAIN}
volumes:
- mealie_data:/app/data/
networks:
- traefik-public
deploy:
resources:
limits:
memory: 1000M
healthcheck:
test: ["CMD-SHELL", "python3 -c \"import socket; s=socket.create_connection(('localhost',9000),2); s.close()\""]
interval: 30s
timeout: 5s
retries: 3
start_period: 60s
labels:
- "traefik.enable=true"
- "traefik.http.routers.mealie.rule=Host(`recipes.${DOMAIN}`)"
- "traefik.http.routers.mealie.entrypoints=websecure"
- "traefik.http.routers.mealie.tls=true"
- "traefik.http.routers.mealie.tls.certresolver=letsencrypt"
- "traefik.http.services.mealie.loadbalancer.server.port=9000"
volumes:
mealie_data:
networks:
traefik-public:
external: true