50 lines
2.0 KiB
YAML
50 lines
2.0 KiB
YAML
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: |