littleshop/docker-compose-full.yml
SysAdmin caff08cb6f Deploy LittleShop to Hostinger with Docker and BunkerWeb
- Updated Docker configuration for production deployment
- Added SilverPay integration settings
- Configured for admin.thebankofdebbie.giize.com deployment
- Includes all recent security fixes and improvements

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-24 13:00:17 +01:00

105 lines
3.3 KiB
YAML

version: '3.8'
services:
littleshop:
image: littleshop:latest
container_name: littleshop
restart: unless-stopped
ports:
- "127.0.0.1:5100:8080"
environment:
- ASPNETCORE_ENVIRONMENT=Production
- ASPNETCORE_URLS=http://+:8080
- ConnectionStrings__DefaultConnection=Data Source=/app/data/littleshop-production.db
- Jwt__Key=7ndUULT7XWE78uxfZ9xO4t6/JhXRzCQ23wCN/R1foDPpb0dv06qe4TuGsRLLV5q+
- Jwt__Issuer=LittleShop-Production
- Jwt__Audience=LittleShop-Production
- Jwt__ExpiryInHours=24
- SilverPay__BaseUrl=http://31.97.57.205:8001
- SilverPay__ApiKey=7703aa7a62fa4b40a87e9cfd867f5407147515c0986116ea54fc00c0a0bc30d8
- SilverPay__WebhookSecret=04126be1b2ca9a586aaf25670c0ddb7a9afa106158074605a1016a2889655c20
- SilverPay__DefaultWebhookUrl=http://srv1002428.hstgr.cloud/api/orders/payments/webhook
- SilverPay__AllowUnsignedWebhooks=false
volumes:
- ./data:/app/data
- ./logs/littleshop:/app/logs
- ./uploads:/app/wwwroot/uploads
networks:
- littleshop-network
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/api/catalog/products"]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
telebot:
build:
context: .
dockerfile: TeleBot/TeleBot/Dockerfile
image: telebot:latest
container_name: telebot
restart: unless-stopped
environment:
- DOTNET_ENVIRONMENT=Production
- BotInfo__Name=LittleShop TeleBot
- BotInfo__Description=Privacy-focused e-commerce Telegram bot
- BotInfo__Version=1.0.0
- Telegram__BotToken=${TELEGRAM_BOT_TOKEN:-8496279616:AAE7kV_riICbWxn6-MPFqcrWx7K8b4_NKq0}
- Telegram__AdminChatId=${TELEGRAM_ADMIN_CHAT_ID:-123456789}
- Telegram__UseWebhook=false
- LittleShop__ApiUrl=http://littleshop:8080
- LittleShop__Username=admin
- LittleShop__Password=admin
- LittleShop__UseTor=false
- Privacy__Mode=strict
- Privacy__DataRetentionHours=24
- Privacy__SessionTimeoutMinutes=30
- Privacy__EnableAnalytics=false
- Privacy__EphemeralByDefault=true
- Privacy__EnableTor=false
- Database__ConnectionString=Filename=/app/data/telebot.db;Password=;
- Database__EncryptionKey=${DB_ENCRYPTION_KEY:-CHANGE_THIS_KEY_IN_PRODUCTION}
- Features__EnableQRCodes=true
- Features__EnablePGPEncryption=true
- Features__EnableDisappearingMessages=true
- Features__EnableOrderMixing=true
- Logging__LogLevel__Default=Information
- Logging__LogLevel__Microsoft=Warning
- Logging__PrivacyMode=true
- Redis__Enabled=false
- Hangfire__Enabled=false
volumes:
- ./data/telebot:/app/data
- ./logs/telebot:/app/logs
- ./telebot-images:/app/image_cache
networks:
- littleshop-network
depends_on:
- littleshop
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"
networks:
littleshop-network:
driver: bridge
volumes:
data:
logs:
uploads:
telebot-images: