91 lines
2.3 KiB
YAML
91 lines
2.3 KiB
YAML
|
|
|
|
services:
|
|
mealie:
|
|
image: ghcr.io/mealie-recipes/mealie:latest
|
|
container_name: mealie
|
|
restart: always
|
|
networks:
|
|
- traefik
|
|
- internal
|
|
volumes:
|
|
- ./mealie-data:/app/data
|
|
environment:
|
|
# Backend settings
|
|
ALLOW_SIGNUP: "false"
|
|
PUID: 1000
|
|
PGID: 1000
|
|
TZ: Europe/Ljubljana # <-- Already set here
|
|
BASE_URL: https://mealie.rozic-dev.com
|
|
|
|
# Database
|
|
DB_ENGINE: postgres
|
|
POSTGRES_USER: mealie
|
|
POSTGRES_PASSWORD: mealie
|
|
POSTGRES_SERVER: postgres
|
|
POSTGRES_PORT: 5432
|
|
POSTGRES_DB: mealie
|
|
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
|
|
# -----------------------------
|
|
# Traefik Reverse Proxy Labels
|
|
# -----------------------------
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.mealie.rule=Host(`mealie.rozic-dev.com`) && PathPrefix(`/`)"
|
|
- "traefik.http.routers.mealie.entrypoints=websecure"
|
|
- "traefik.http.routers.mealie.tls.certresolver=letsencrypt"
|
|
- "traefik.http.routers.mealie.tls=true"
|
|
- "traefik.http.services.mealie.loadbalancer.server.port=9000"
|
|
# optional headers
|
|
- "traefik.http.middlewares.mealie-headers.headers.stsSeconds=31536000"
|
|
- "traefik.http.middlewares.mealie-headers.headers.forceSTSHeader=true"
|
|
- "traefik.http.routers.mealie.middlewares=mealie-headers"
|
|
|
|
postgres:
|
|
image: postgres:15
|
|
container_name: mealie-postgres
|
|
restart: always
|
|
networks:
|
|
- internal
|
|
environment:
|
|
POSTGRES_DB: mealie
|
|
POSTGRES_USER: mealie
|
|
POSTGRES_PASSWORD: mealie
|
|
# Added for Time Zone consistency (Suggestion 2)
|
|
TZ: Europe/Ljubljana
|
|
PGTZ: Europe/Ljubljana
|
|
volumes:
|
|
- ./mealie-pgdata:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD", "pg_isready", "-U", "mealie"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 5
|
|
|
|
# ------------------
|
|
# NETWORKS & VOLUMES
|
|
# ------------------
|
|
networks:
|
|
traefik:
|
|
external: true
|
|
name: traefik_default
|
|
|
|
internal:
|
|
driver: bridge
|
|
|
|
volumes:
|
|
mealie-data:
|
|
driver: local
|
|
mealie-pgdata:
|
|
driver: local
|
|
deploy: # works with docker-compose + swarm mode, also respected by Docker Desktop
|
|
resources:
|
|
limits:
|
|
cpus: '1.0'
|
|
memory: 1024M
|
|
reservations:
|
|
memory: 512M |