# Lokaler Produktions-Test: App-Image + Postgres (ähnlich Coolify mit zwei Services)
#
#   docker compose build
#   docker compose up -d
#   curl http://127.0.0.1:8080/health.php
#
# Erstes Deployment mit Seed:
#   RUN_DB_SEED=true docker compose up -d

services:
  web:
    build: .
    ports:
      - "8080:80"
    environment:
      DATABASE_URL: postgresql://flixcooks:flixcooks_prod@postgres:5432/flixcooks
      FLIXCOOKS_ADMIN_KEY: ${FLIXCOOKS_ADMIN_KEY:-change-me-in-production}
      RUN_DB_SEED: ${RUN_DB_SEED:-false}
    depends_on:
      postgres:
        condition: service_healthy
    volumes:
      # Impressum/Datenschutz-Einstellungen persistent halten
      - site_data:/var/www/html/data

  postgres:
    image: postgres:16-alpine
    environment:
      POSTGRES_USER: flixcooks
      POSTGRES_PASSWORD: flixcooks_prod
      POSTGRES_DB: flixcooks
    volumes:
      - pg_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U flixcooks -d flixcooks"]
      interval: 5s
      timeout: 5s
      retries: 10

volumes:
  pg_data:
  site_data:
