services: db: image: postgres:15-alpine container_name: ballet_db environment: POSTGRES_USER: ${POSTGRES_USER:-ballet_user} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-ballet_pass} POSTGRES_DB: ${POSTGRES_DB:-ballet_prod} volumes: - postgres_data:/var/lib/postgresql/data expose: - 5432 backend: build: ./backend container_name: ballet_backend environment: DATABASE_URL: postgresql://${POSTGRES_USER:-ballet_user}:${POSTGRES_PASSWORD:-ballet_pass}@db:5432/${POSTGRES_DB:-ballet_prod} SECRET_KEY: ${SECRET_KEY:-yoursecretkeyhere} depends_on: - db ports: - "8000:8000" frontend: build: ./frontend container_name: ballet_frontend environment: API_URL: http://backend:8000 depends_on: - backend ports: - "8080:8080" volumes: postgres_data: