2025-04-12 00:32:17 +07:00
|
|
|
|
version: '3.8' # Указываем версию Docker Compose
|
|
|
|
|
|
|
|
|
|
services:
|
|
|
|
|
daily-digest-worker: # Имя нашего сервиса (может быть любым)
|
2025-04-12 00:35:02 +07:00
|
|
|
|
build: . # Раскомментируйте, если Portainer будет САМ собирать образ из Dockerfile
|
|
|
|
|
# image: your-dockerhub-username/daily-digest-worker:latest # <-- ЗАМЕНИТЕ на ваше имя образа (или оставьте build)
|
2025-04-12 00:32:17 +07:00
|
|
|
|
container_name: daily-digest-worker # Имя контейнера после запуска
|
|
|
|
|
restart: unless-stopped # Перезапускать контейнер, если он остановился сам (кроме ручной остановки)
|
|
|
|
|
|
|
|
|
|
environment:
|
|
|
|
|
# --- ПЕРЕДАЧА СЕКРЕТОВ И НАСТРОЕК ЧЕРЕЗ ПЕРЕМЕННЫЕ ОКРУЖЕНИЯ ---
|
|
|
|
|
# Формат: Section__NestedSection__Key=Value
|
|
|
|
|
# Замените YOUR_... на ваши реальные значения!
|
|
|
|
|
|
|
|
|
|
# Настройки бота
|
|
|
|
|
BotConfiguration__BotToken: "7370439998:AAFKMvzbkv3Vh-E477De7_QKrTCQblI7wlc"
|
|
|
|
|
BotConfiguration__TargetChatId: "-1002642759581" # Например, -1001234567890
|
|
|
|
|
|
|
|
|
|
# Настройки Client API Telegram
|
|
|
|
|
TelegramClient__ApiId: "11104889" # Должно быть числом, но передаем как строку
|
|
|
|
|
TelegramClient__ApiHash: "81f467fd132d401fe69eaf45ae4275eb"
|
|
|
|
|
TelegramClient__PhoneNumber: "+79069302883" # Например, +79123456789
|
|
|
|
|
TelegramClient__TargetChannelUsername: "topor"
|
|
|
|
|
TelegramClient__SessionPath: "/app/session/telegram_session.dat" # <-- Путь ВНУТРИ контейнера (см. volumes)
|
|
|
|
|
|
|
|
|
|
# Ключи API
|
|
|
|
|
ApiKeys__OpenWeatherMap: "1425466ae8a0a723bd3300526ced0fff"
|
|
|
|
|
ApiKeys__Gemini: "AIzaSyClYI2zhYbAZgtT300JHAfYjIiyxrMV6W8"
|
|
|
|
|
|
|
|
|
|
# Настройки планировщика (если не хотите менять appsettings.json в образе)
|
|
|
|
|
# Можно переопределить массив JSON через переменную окружения, но это сложнее.
|
|
|
|
|
# Проще оставить в appsettings.json или использовать Config Map, если Portainer поддерживает.
|
|
|
|
|
# Либо использовать переменные для КАЖДОГО времени, но это не гибко.
|
|
|
|
|
|
|
|
|
|
# Настройки логирования и прочие (можно переопределить при необходимости)
|
|
|
|
|
Logging__LogLevel__Default: "Information"
|
|
|
|
|
DOTNET_ENVIRONMENT: "Production" # Устанавливаем окружение как Production
|
|
|
|
|
|
|
|
|
|
volumes:
|
|
|
|
|
# Создаем или используем именованный том 'session_data' для хранения файла сессии Telegram
|
|
|
|
|
# Это КЛЮЧЕВОЙ момент, чтобы не проходить авторизацию Client API при каждом перезапуске контейнера!
|
|
|
|
|
- session_data:/app/session # Монтируем том 'session_data' в папку /app/session внутри контейнера
|
|
|
|
|
|
|
|
|
|
volumes:
|
|
|
|
|
# Объявляем именованный том
|
|
|
|
|
session_data:
|