services: traefik: image: traefik:3.6.5 command: - "--api.insecure=true" # Dashboard Traefik (optionnel) - "--providers.docker=true" # Labels Docker - "--entrypoints.web.address=:80" # HTTP ports: - "80:80" - "8080:8080" # Dashboard (facultatif) volumes: - "/var/run/docker.sock:/var/run/docker.sock:ro" nhl-schedule-nginx: image: nginx:1.29.4 volumes: - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf:rw,cached - ./public:/var/www/public:rw,cached labels: - traefik.http.routers.nhl-schedule.rule=Host(`local.match-schedule.home`) - traefik.http.routers.nhl-schedule.middlewares=nhl-schedule - traefik.http.middlewares.nhl-schedule.headers.customresponseheaders.Access-Control-Allow-Methods=POST, PATCH, GET, PUT, OPTIONS, DELETE - traefik.http.middlewares.nhl-schedule.headers.customresponseheaders.Access-Control-Allow-Origin=* - traefik.http.middlewares.nhl-schedule.headers.customresponseheaders.Access-Control-Allow-Headers=x-requested-with, Content-Type,Authorization,Location - traefik.http.middlewares.nhl-schedule.headers.customresponseheaders.Access-Control-Expose-Headers=link, Location - traefik.port=80 nhl-schedule: image: nhl-schedule:dev user: 1000:1000 env_file: - .env volumes: - ./:/var/www:rw,cached - ./docker/php-fpm/ini/xdebug.ini:/usr/local/etc/php/conf.d/xdebug.ini - ./docker/php-fpm/ini/local.ini:/usr/local/etc/php/conf.d/local.ini postgres: image: postgres:18.1 volumes: - postgres_data:/var/lib/postgresql - ./docker/postgres/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres ports: - '5432:5432' volumes: postgres_data: