# Tandoor Recipes - Receptkezelő és étkezés tervező # Domain: ${SUBDOMAIN}.${DOMAIN} # Database: postgres # RAM: ~150M (mem_limit: 512M) | Pi-compatible: Yes # # Environment variables: # DOMAIN - Your domain (e.g., demo-felhom.eu) # SECRET_KEY - Titkosítási kulcs (auto-generated) # DB_PASSWORD - Adatbázis jelszó (auto-generated) services: tandoor: image: ghcr.io/tandoorrecipes/recipes:2.6.13 container_name: tandoor restart: unless-stopped depends_on: tandoor-postgres: condition: service_healthy environment: - SECRET_KEY=${SECRET_KEY} # A tandoor 2.x Django-ja ALLOWED_HOSTS nélkül MINDEN kérésre 400-at ad # (a healthcheck-re is), a konténer így soha nem lesz healthy. - ALLOWED_HOSTS=${SUBDOMAIN}.${DOMAIN},127.0.0.1,localhost - DB_ENGINE=django.db.backends.postgresql - POSTGRES_HOST=tandoor-postgres - POSTGRES_PORT=5432 - POSTGRES_USER=tandoor - POSTGRES_PASSWORD=${DB_PASSWORD} - POSTGRES_DB=tandoor - TZ=Europe/Budapest volumes: - tandoor_static:/opt/recipes/staticfiles - tandoor_media:/opt/recipes/mediafiles networks: - traefik-public - tandoor-internal deploy: resources: limits: memory: 1024M healthcheck: test: ["CMD", "wget", "--spider", "-q", "http://127.0.0.1:80/accounts/login/"] interval: 30s timeout: 5s retries: 3 # A tandoor (django-vite + migrációk) lassan bindol: 30s alatt még # "Connection refused" jött, és a próbák elfogytak, mielőtt elindult. start_period: 240s labels: - "traefik.enable=true" - "traefik.http.routers.tandoor.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)" - "traefik.http.routers.tandoor.entrypoints=websecure" - "traefik.http.routers.tandoor.tls=true" - "traefik.http.routers.tandoor.tls.certresolver=letsencrypt" - "traefik.http.services.tandoor.loadbalancer.server.port=80" tandoor-postgres: image: postgres:16-alpine container_name: tandoor-postgres restart: unless-stopped environment: - POSTGRES_USER=tandoor - POSTGRES_PASSWORD=${DB_PASSWORD} - POSTGRES_DB=tandoor - TZ=Europe/Budapest volumes: - tandoor_postgres_data:/var/lib/postgresql/data networks: - tandoor-internal deploy: resources: limits: memory: 256M healthcheck: test: ["CMD-SHELL", "pg_isready -U tandoor -d tandoor"] interval: 10s timeout: 5s retries: 5 start_period: 20s volumes: tandoor_media: tandoor_postgres_data: tandoor_static: networks: traefik-public: external: true tandoor-internal: