services: db: image: postgres:16 environment: POSTGRES_USER: bukafit POSTGRES_PASSWORD: bukafit POSTGRES_DB: bukafit ports: - "5432:5432" volumes: - pgdata:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U bukafit"] interval: 5s timeout: 3s retries: 5 redis: image: redis:7 ports: - "6380:6379" # хост-порт 6380 (6379 занят другим проектом) healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s timeout: 3s retries: 5 app: build: . environment: BOT_TOKEN: ${BOT_TOKEN:-} DATABASE_URL: postgresql+asyncpg://bukafit:bukafit@db:5432/bukafit REDIS_URL: redis://redis:6379/0 AI_PROVIDER: ${AI_PROVIDER:-mock} TZ: Asia/Tashkent depends_on: db: condition: service_healthy redis: condition: service_healthy command: sh -c "alembic upgrade head && python -m bukafit.bot.main" restart: unless-stopped volumes: pgdata: