services: db: image: postgres:15 container_name: postgres_db environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_DB: revforce volumes: - postgres_data:/var/lib/postgresql/data ports: - "5432:5432" healthcheck: test: [ "CMD-SHELL", "pg_isready -U postgres" ] interval: 5s timeout: 5s retries: 5 networks: - app_network fastapi: build: . container_name: revforce-api depends_on: db: condition: service_healthy environment: DATABASE_URL: postgresql+asyncpg://postgres:postgres@db:5432/revforce ports: - "8000:8000" networks: - app_network networks: app_network: driver: bridge volumes: postgres_data: driver: local