services: postgres: image: postgres:15-alpine restart: unless-stopped env_file: - .env environment: POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB} ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data qdrant: image: qdrant/qdrant:latest restart: unless-stopped ports: - "6333:6333" volumes: - qdrant_data:/qdrant/storage redis: image: redis:7-alpine restart: unless-stopped ports: - "6379:6379" volumes: - redis_data:/data backend: build: ./backend restart: unless-stopped env_file: - .env environment: POSTGRES_HOST: postgres POSTGRES_PORT: ${POSTGRES_PORT} POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB} QDRANT_HOST: qdrant QDRANT_PORT: ${QDRANT_PORT} REDIS_HOST: redis REDIS_PORT: ${REDIS_PORT} DEBUG: "true" SECRET_KEY: ${SECRET_KEY} APP_NAME: ${APP_NAME} CORS_ORIGINS: ${CORS_ORIGINS} ports: - "8000:8000" depends_on: - postgres - qdrant - redis tg_bot: build: ./tg_bot restart: unless-stopped env_file: - .env environment: POSTGRES_HOST: postgres POSTGRES_PORT: ${POSTGRES_PORT} POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: ${POSTGRES_DB} TELEGRAM_BOT_TOKEN: ${TELEGRAM_BOT_TOKEN} DEEPSEEK_API_KEY: ${DEEPSEEK_API_KEY} DEEPSEEK_API_URL: ${DEEPSEEK_API_URL:-https://api.deepseek.com/v1/chat/completions} YANDEX_OCR_API_KEY: ${YANDEX_OCR_API_KEY} DEBUG: "true" depends_on: - postgres - backend volumes: postgres_data: qdrant_data: redis_data: