demo-int-table/docker-compose.yml

82 lines
1.5 KiB
YAML

services:
db:
image: postgres:16
restart: always
env_file:
- .env
environment:
PGDATA: /var/lib/postgresql/data/pgdata
POSTGRES_DB: inttable
ports:
- 5433:5432
volumes:
- ./postgres_data:/var/lib/postgresql/data
networks:
- dev
healthcheck:
test: pg_isready -d $$POSTGRES_DB -U $$POSTGRES_USER
start_period: 5s
interval: 5s
timeout: 5s
retries: 10
back:
build:
context: ./back
dockerfile: Dockerfile
restart: always
env_file:
- ./.env
expose:
- "8000"
healthcheck:
test: curl -f http://localhost:8000/ || exit 1
interval: 5s
timeout: 3s
retries: 10
volumes:
- ./.env:/app/.env
- ./files:/app/files
networks:
- dev
front:
build:
context: ./front
dockerfile: Dockerfile
restart: always
expose:
- "4173"
depends_on:
back:
condition: service_healthy
networks:
- dev
nginx:
image: nginx:1.25
restart: always
ports:
- "${WEB_PORT:-80}:80"
depends_on:
back:
condition: service_healthy
links:
- back:back
- front:front
volumes:
- ./nginx/nginx.conf:/etc/nginx/nginx.conf
- ./nginx/conf.d:/etc/nginx/conf.d
networks:
- dev
networks:
network:
driver: bridge
dev:
driver: bridge
ipam:
config:
- subnet: 10.67.0.0/24
gateway: 10.67.0.1