- Set up Tor container for SOCKS proxy (port 9050) - Configured Monero wallet with remote onion node - Bitcoin node continues syncing in background (60% complete) - Created documentation for wallet configuration steps - All external connections routed through Tor for privacy BTCPay requires manual wallet configuration through web interface: - Bitcoin: Need to add xpub/zpub for watch-only wallet - Monero: Need to add address and view key System ready for payment acceptance once wallets configured.
123 lines
3.6 KiB
YAML
123 lines
3.6 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
# LittleShop Main Application
|
|
littleshop:
|
|
build: .
|
|
image: littleshop:latest
|
|
container_name: littleshop
|
|
restart: unless-stopped
|
|
environment:
|
|
- ASPNETCORE_ENVIRONMENT=Hostinger
|
|
- ASPNETCORE_URLS=http://+:8080
|
|
# BTCPay Configuration - pointing to Hostinger BTCPay
|
|
- BTCPayServer__BaseUrl=https://thebankofdebbie.giize.com
|
|
- BTCPayServer__ApiKey=${BTCPAY_API_KEY:-994589c8b514531f867dd24c83a02b6381a5f4a2}
|
|
- BTCPayServer__StoreId=${BTCPAY_STORE_ID:-AoxXjM9NJT6P9C1MErkaawXaSchz8sFPYdQ9FyhmQz33}
|
|
- BTCPayServer__WebhookSecret=${BTCPAY_WEBHOOK_SECRET}
|
|
# Database
|
|
- ConnectionStrings__DefaultConnection=Data Source=/app/data/littleshop.db
|
|
# JWT
|
|
- Jwt__Key=${JWT_SECRET_KEY:-YourSuperSecretKeyThatIsAtLeast32CharactersLong!}
|
|
volumes:
|
|
- littleshop_data:/app/data
|
|
- littleshop_uploads:/app/wwwroot/uploads
|
|
- littleshop_logs:/app/logs
|
|
ports:
|
|
- "8080:8080"
|
|
networks:
|
|
- littleshop-network
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 60s
|
|
|
|
# TeleBot Telegram Bot
|
|
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 - pointing to local container
|
|
- LittleShop__ApiUrl=http://littleshop:8080
|
|
- LittleShop__Username=${LITTLESHOP_USERNAME:-admin}
|
|
- LittleShop__Password=${LITTLESHOP_PASSWORD:-admin}
|
|
- LittleShop__UseTor=false
|
|
- LittleShop__BrandName=${BRAND_NAME:-Little Shop}
|
|
# 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:-CHANGE_THIS_KEY_IN_PRODUCTION}
|
|
# Features
|
|
- Features__EnableQRCodes=true
|
|
- Features__EnablePGPEncryption=true
|
|
- Features__EnableDisappearingMessages=true
|
|
# Redis (optional)
|
|
- Redis__Enabled=${REDIS_ENABLED:-false}
|
|
- Redis__ConnectionString=redis:6379
|
|
# Hangfire (optional)
|
|
- Hangfire__Enabled=${HANGFIRE_ENABLED:-false}
|
|
volumes:
|
|
- telebot_data:/app/data
|
|
- telebot_logs:/app/logs
|
|
networks:
|
|
- littleshop-network
|
|
depends_on:
|
|
- littleshop
|
|
- redis
|
|
healthcheck:
|
|
test: ["CMD", "pgrep", "-f", "dotnet.*TeleBot"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 60s
|
|
|
|
# Redis Cache (Optional)
|
|
redis:
|
|
image: redis:7-alpine
|
|
container_name: littleshop-redis
|
|
restart: unless-stopped
|
|
command: redis-server --requirepass ${REDIS_PASSWORD:-RedisPassword123}
|
|
volumes:
|
|
- redis_data:/data
|
|
networks:
|
|
- littleshop-network
|
|
healthcheck:
|
|
test: ["CMD", "redis-cli", "--raw", "incr", "ping"]
|
|
interval: 30s
|
|
timeout: 3s
|
|
retries: 5
|
|
|
|
volumes:
|
|
littleshop_data:
|
|
driver: local
|
|
littleshop_uploads:
|
|
driver: local
|
|
littleshop_logs:
|
|
driver: local
|
|
telebot_data:
|
|
driver: local
|
|
telebot_logs:
|
|
driver: local
|
|
redis_data:
|
|
driver: local
|
|
|
|
networks:
|
|
littleshop-network:
|
|
driver: bridge |