2026-06-09 18:08:50 +03:00
|
|
|
|
|
|
|
|
services:
|
|
|
|
|
db:
|
|
|
|
|
image: postgres:16
|
|
|
|
|
container_name: reports_db
|
|
|
|
|
env_file: [.env]
|
|
|
|
|
environment:
|
|
|
|
|
- POSTGRES_DB=${POSTGRES_DB}
|
|
|
|
|
- POSTGRES_USER=${POSTGRES_USER}
|
|
|
|
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
|
|
|
|
- TZ=${TZ}
|
|
|
|
|
volumes:
|
|
|
|
|
- ./local/postgres:/var/lib/postgresql/data
|
|
|
|
|
- ./docker/postgres/init:/docker-entrypoint-initdb.d:ro
|
|
|
|
|
ports:
|
|
|
|
|
- "5432:5432"
|
|
|
|
|
networks: [reports-network]
|
|
|
|
|
restart: unless-stopped
|
2026-06-19 17:23:25 +03:00
|
|
|
healthcheck:
|
|
|
|
|
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
|
|
|
|
|
interval: 5s
|
|
|
|
|
timeout: 5s
|
|
|
|
|
retries: 10
|
|
|
|
|
|
|
|
|
|
php:
|
|
|
|
|
build:
|
|
|
|
|
context: .
|
|
|
|
|
dockerfile: docker/php/Dockerfile
|
|
|
|
|
container_name: reports_php
|
|
|
|
|
env_file: [.env]
|
|
|
|
|
environment:
|
|
|
|
|
POSTGRES_HOST: db
|
|
|
|
|
volumes:
|
|
|
|
|
- ./.env:/var/www/html/.env:ro
|
|
|
|
|
depends_on:
|
|
|
|
|
db:
|
|
|
|
|
condition: service_healthy
|
|
|
|
|
networks: [reports-network]
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
|
|
|
|
|
nginx:
|
|
|
|
|
build:
|
|
|
|
|
context: .
|
|
|
|
|
dockerfile: docker/nginx/Dockerfile
|
|
|
|
|
container_name: reports_nginx
|
|
|
|
|
ports:
|
|
|
|
|
- "80:80"
|
|
|
|
|
depends_on:
|
|
|
|
|
- php
|
|
|
|
|
networks: [reports-network]
|
|
|
|
|
restart: unless-stopped
|
2026-06-09 18:08:50 +03:00
|
|
|
|
|
|
|
|
networks:
|
|
|
|
|
reports-network:
|
|
|
|
|
driver: bridge
|