daily_digest/docker-compose.yml
Professional 7783d17d6b test
2025-04-12 00:35:02 +07:00

46 lines
3.2 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

version: '3.8' # Указываем версию Docker Compose
services:
daily-digest-worker: # Имя нашего сервиса (может быть любым)
build: . # Раскомментируйте, если Portainer будет САМ собирать образ из Dockerfile
# image: your-dockerhub-username/daily-digest-worker:latest # <-- ЗАМЕНИТЕ на ваше имя образа (или оставьте build)
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: