version: '3.8' services: # Telegram бот buh_bot: build: context: . dockerfile: Dockerfile container_name: buh_bot restart: unless-stopped # Переменные окружения environment: - TELEGRAM_BOT_TOKEN=${TELEGRAM_BOT_TOKEN} - MOYSKLAD_API_URL=${MOYSKLAD_API_URL:-https://api.moysklad.ru/api/remap/1.2} - TZ=Europe/Moscow # Переменные из файла .env env_file: - .env # Volumes для персистентных данных volumes: # Пользовательские данные (users.json, .encryption_key) - ./data:/app/data # Логи - ./logs:/app/logs # Временные документы - ./temp_documents:/app/temp_documents # Сеть networks: - buh_network # Ограничения ресурсов deploy: resources: limits: cpus: '0.5' memory: 512M reservations: cpus: '0.25' memory: 256M # Healthcheck healthcheck: test: ["CMD", "python", "-c", "import sys; sys.exit(0)"] interval: 30s timeout: 10s retries: 3 start_period: 40s # Логирование logging: driver: "json-file" options: max-size: "10m" max-file: "3" # Сеть networks: buh_network: driver: bridge # Volumes (опционально, можно использовать bind mounts как выше) volumes: bot_data: driver: local bot_logs: driver: local bot_temp: driver: local