add stuckt

This commit is contained in:
2025-09-22 12:35:41 +05:00
parent 5b9c55a4dc
commit 046b610a34
28 changed files with 937 additions and 3576 deletions

View File

@@ -20,32 +20,34 @@ services:
timeout: 5s
retries: 5
# Telegram Bot приложение
# Telegram Bot приложение (работает ТОЛЬКО через API)
bot:
build: .
container_name: telegram_bot
environment:
# Загружаем переменные из .env файла
# Настройки бота
TELEGRAM_BOT_TOKEN: ${TELEGRAM_BOT_TOKEN}
DB_HOST: postgres
DB_PORT: ${DB_PORT:-5432}
DB_NAME: ${DB_NAME:-botdb}
DB_USER: ${DB_USER:-botuser}
DB_PASSWORD: ${DB_PASSWORD}
APP_ENV: ${APP_ENV:-production}
LOG_LEVEL: ${LOG_LEVEL:-INFO}
DEBUG: ${DEBUG:-False}
command: python main.py --mode bot
# Настройки подключения к API (НЕ к БД!)
API_HOST: api
API_PORT: 8000
API_BASE_URL: http://api:8000
API_TIMEOUT: 30
command: python app.bot/main.py
depends_on:
postgres:
api:
condition: service_healthy
networks:
- bot_network
restart: unless-stopped
volumes:
- ./images:/app/images:ro
profiles:
- bot
- all
# API сервер (опционально)
# API сервер (единственный доступ к БД)
api:
build: .
container_name: telegram_bot_api
@@ -60,10 +62,10 @@ services:
# Настройки API сервера
API_HOST: 0.0.0.0
API_PORT: ${API_PORT:-8000}
API_RELOAD: "false"
LOG_LEVEL: ${LOG_LEVEL:-INFO}
APP_ENV: ${APP_ENV:-production}
command: python main.py --mode api
DEBUG: ${DEBUG:-False}
command: python app.api/run_server.py
ports:
- "${API_PORT:-8000}:${API_PORT:-8000}"
depends_on:
@@ -72,8 +74,36 @@ services:
networks:
- bot_network
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:8000/health || exit 1"]
interval: 30s
timeout: 10s
retries: 3
profiles:
- api
- all
# Веб-интерфейс для управления (работает через API)
web:
build: .
container_name: telegram_bot_web
environment:
# Настройки подключения к API
API_HOST: api
API_PORT: 8000
API_BASE_URL: http://api:8000
command: python app.control-bot/main.py
ports:
- "${WEB_PORT:-3000}:3000"
depends_on:
api:
condition: service_healthy
networks:
- bot_network
restart: unless-stopped
profiles:
- web
- all
# Сети для изоляции сервисов
networks: