littleshop/TeleBot/docker-compose.yml
SysAdmin e1b377a042 Initial commit of LittleShop project (excluding large archives)
- BTCPay Server integration
- TeleBot Telegram bot
- Review system
- Admin area
- Docker deployment configuration

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 15:07:38 +01:00

109 lines
2.6 KiB
YAML

version: '3.8'
services:
telebot:
build:
context: ../
dockerfile: TeleBot/TeleBot/Dockerfile
container_name: littleshop-telebot
restart: unless-stopped
environment:
- DOTNET_ENVIRONMENT=Production
- TZ=UTC
# Telegram Bot Configuration
- Telegram__BotToken=${TELEGRAM_BOT_TOKEN}
- Telegram__AdminChatId=${TELEGRAM_ADMIN_CHAT_ID}
- Telegram__UseWebhook=false
# LittleShop API Configuration
- LittleShop__ApiUrl=${LITTLESHOP_API_URL:-https://host.docker.internal:5001}
- LittleShop__Username=${LITTLESHOP_USERNAME:-admin}
- LittleShop__Password=${LITTLESHOP_PASSWORD:-admin}
- LittleShop__UseTor=false
# Privacy Settings
- Privacy__Mode=strict
- Privacy__DataRetentionHours=24
- Privacy__SessionTimeoutMinutes=30
- Privacy__EnableAnalytics=false
- Privacy__EphemeralByDefault=true
- Privacy__EnableTor=false
# Database Configuration
- Database__ConnectionString=Filename=/app/data/telebot.db;Password=;
- Database__EncryptionKey=${DATABASE_ENCRYPTION_KEY}
# Features
- Features__EnableQRCodes=true
- Features__EnablePGPEncryption=true
- Features__EnableDisappearingMessages=true
# Redis (optional)
- Redis__Enabled=${REDIS_ENABLED:-false}
- Redis__ConnectionString=${REDIS_CONNECTION_STRING:-redis:6379}
# Hangfire (optional)
- Hangfire__Enabled=${HANGFIRE_ENABLED:-false}
volumes:
- telebot-data:/app/data
- telebot-logs:/app/logs
networks:
- littleshop-network
healthcheck:
test: ["CMD", "pgrep", "-f", "dotnet.*TeleBot"]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
depends_on:
- redis
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
redis:
image: redis:7-alpine
container_name: littleshop-redis
restart: unless-stopped
command: redis-server --requirepass ${REDIS_PASSWORD}
volumes:
- redis-data:/data
networks:
- littleshop-network
healthcheck:
test: ["CMD", "redis-cli", "--raw", "incr", "ping"]
interval: 30s
timeout: 3s
retries: 5
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
volumes:
telebot-data:
name: littleshop-telebot-data
telebot-logs:
name: littleshop-telebot-logs
redis-data:
name: littleshop-redis-data
networks:
littleshop-network:
name: littleshop-network
driver: bridge