version: "3.9" services: postgres: image: postgres:16-alpine environment: POSTGRES_DB: poledance POSTGRES_USER: poledance POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} volumes: - postgres_data:/var/lib/postgresql/data ports: - "5432:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U poledance"] interval: 5s timeout: 5s retries: 10 backend: build: ./backend command: uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload environment: DATABASE_URL: postgresql+asyncpg://poledance:${POSTGRES_PASSWORD}@postgres:5432/poledance SECRET_KEY: ${SECRET_KEY} ALGORITHM: HS256 ACCESS_TOKEN_EXPIRE_MINUTES: 15 REFRESH_TOKEN_EXPIRE_DAYS: 7 INSTAGRAM_USER_ID: ${INSTAGRAM_USER_ID:-} INSTAGRAM_ACCESS_TOKEN: ${INSTAGRAM_ACCESS_TOKEN:-} INSTAGRAM_POLL_INTERVAL: ${INSTAGRAM_POLL_INTERVAL:-1800} ports: - "8000:8000" depends_on: postgres: condition: service_healthy volumes: - ./backend:/app volumes: postgres_data: