- 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>
122 lines
3.4 KiB
YAML
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 |