services: db: image: postgres:17-alpine environment: POSTGRES_USER: ${POSTGRES_USER:-banking} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-banking} POSTGRES_DB: ${POSTGRES_DB:-banking} ports: - "5433:5432" # 5432 costuma estar ocupado na máquina de desenvolvimento volumes: - pgdata:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-banking} -d ${POSTGRES_DB:-banking}"] interval: 3s timeout: 3s retries: 20 app: build: . env_file: .env environment: DATABASE_URL: postgresql://${POSTGRES_USER:-banking}:${POSTGRES_PASSWORD:-banking}@db:5432/${POSTGRES_DB:-banking} ports: - "8000:8000" depends_on: db: condition: service_healthy volumes: pgdata: