littleshop/docker-compose.telebot.yml
SysAdmin 5210b5b70c Add TeleBot deployment with Tor integration
- Created docker-compose.telebot.yml with Tor proxy
- Added deployment script for automated setup
- Configured Telegram traffic routing through Tor
- Integrated with LittleShop API via Docker network

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-24 14:05:11 +01:00

122 lines
3.4 KiB
YAML

version: '3.8'
services:
tor:
image: dperson/torproxy:latest
container_name: telebot-tor
restart: unless-stopped
ports:
- "127.0.0.1:9050:9050" # SOCKS proxy port
- "127.0.0.1:9051:9051" # Control port
environment:
- TORUSER=telebot
- PASSWORD=Thefa1r1esd1d1t
- TOR_NewCircuitPeriod=600
- TOR_MaxCircuitDirtiness=3600
- LOCATION=US
volumes:
- tor-data:/var/lib/tor
networks:
- telebot-network
healthcheck:
test: ["CMD", "curl", "--socks5", "localhost:9050", "https://check.torproject.org/api/ip"]
interval: 60s
timeout: 10s
retries: 3
telebot:
image: localhost:5000/telebot:latest
container_name: telebot
restart: unless-stopped
depends_on:
- tor
environment:
# Bot configuration
- BotInfo__Name=LittleShop TeleBot
- BotInfo__Description=Privacy-focused e-commerce Telegram bot
- BotInfo__Version=1.0.0
# Telegram settings
- Telegram__BotToken=8496279616:AAE7kV_riICbWxn6-MPFqcrWx7K8b4_NKq0
- Telegram__AdminChatId=123456789
- Telegram__UseWebhook=false
# LittleShop API connection
- LittleShop__ApiUrl=http://littleshop-admin:8080
- LittleShop__Username=admin
- LittleShop__Password=Thefa1r1esd1d1t
- LittleShop__UseTor=false # Don't use Tor for local API
# Privacy settings with Tor
- Privacy__Mode=strict
- Privacy__DataRetentionHours=24
- Privacy__SessionTimeoutMinutes=30
- Privacy__EnableAnalytics=false
- Privacy__EphemeralByDefault=true
- Privacy__EnableTor=true
- Privacy__TorSocksPort=9050
- Privacy__TorControlPort=9051
- Privacy__OnionServiceDirectory=/var/lib/tor/telebot/
# Tor proxy settings for Telegram
- HTTPS_PROXY=socks5h://tor:9050
- HTTP_PROXY=socks5h://tor:9050
- ALL_PROXY=socks5h://tor:9050
# Database
- Database__ConnectionString=Filename=/app/data/telebot.db;Password=Thefa1r1esd1d1t;
- Database__EncryptionKey=ff34ur340uifoisdjf03uur283hr238n9978sdfgb82rn8dh
# Features
- Features__EnableQRCodes=true
- Features__EnablePGPEncryption=true
- Features__EnableDisappearingMessages=true
- Features__EnableOrderMixing=true
- Features__MixingDelayMinSeconds=60
- Features__MixingDelayMaxSeconds=300
# Redis (optional, using local instead)
- Redis__Enabled=false
# Logging
- Logging__LogLevel__Default=Information
- Logging__PrivacyMode=true
# Kestrel endpoints
- Kestrel__Endpoints__Http__Url=http://+:5010
# Cryptocurrencies
- Cryptocurrencies__0=BTC
- Cryptocurrencies__1=XMR
- Cryptocurrencies__2=ETH
- Cryptocurrencies__3=LTC
volumes:
- /opt/telebot/data:/app/data
- /opt/telebot/logs:/app/logs
- /opt/telebot/image_cache:/app/image_cache
- tor-data:/var/lib/tor
networks:
- telebot-network
- littleshop-network # Connect to LittleShop network
healthcheck:
test: ["CMD", "pgrep", "-f", "dotnet.*TeleBot"]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
volumes:
tor-data:
driver: local
networks:
telebot-network:
driver: bridge
littleshop-network:
external: true