services: db: image: postgres:16-alpine container_name: watersurf_erp_db restart: unless-stopped environment: POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB} volumes: - watersurf_erp_data:/var/lib/postgresql/data networks: - watersurf_erp_network healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"] interval: 10s timeout: 5s retries: 5 app: build: . container_name: watersurf_erp_app restart: unless-stopped depends_on: db: condition: service_healthy environment: DB_HOST: db DB_PORT: 5432 DB_NAME: ${POSTGRES_DB} DB_USER: ${POSTGRES_USER} DB_PASSWORD: ${POSTGRES_PASSWORD} SECRET_KEY: ${SECRET_KEY} DEBUG: ${DEBUG:-false} ALLOWED_HOSTS: ${ALLOWED_HOSTS} volumes: - ./logs:/app/logs networks: - watersurf_erp_network ports: - "127.0.0.1:8010:8000" logging: driver: "json-file" options: max-size: "10m" max-file: "3" volumes: watersurf_erp_data: driver: local networks: watersurf_erp_network: driver: bridge