services: frontend: build: context: ./frontend dockerfile: ../docker/Dockerfile.frontend ports: - "3100:80" depends_on: - backend restart: unless-stopped backend: build: context: ./backend dockerfile: ../docker/Dockerfile.backend env_file: .env depends_on: db: condition: service_healthy restart: unless-stopped db: image: postgres:16-alpine env_file: .env environment: POSTGRES_DB: ${DB_NAME} POSTGRES_USER: ${DB_USER} POSTGRES_PASSWORD: ${DB_PASSWORD} volumes: - pgdata:/var/lib/postgresql/data - ./docker/init.sql:/docker-entrypoint-initdb.d/init.sql healthcheck: test: ["CMD-SHELL", "pg_isready -U ${DB_USER} -d ${DB_NAME}"] interval: 5s timeout: 5s retries: 5 restart: unless-stopped volumes: pgdata: