Add Hostinger deployment configuration
- Created docker-compose.hostinger.yml with BunkerWeb labels - Added deployment script for automated deployment - Configured for admin.thebankofdebbie.giize.com - Integrated with SilverPay at pay.thebankofdebbie.giize.com 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -1,123 +1,71 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
# LittleShop Main Application
|
||||
littleshop:
|
||||
build: .
|
||||
image: littleshop:latest
|
||||
container_name: littleshop
|
||||
image: localhost:5000/littleshop:latest
|
||||
container_name: littleshop-admin
|
||||
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
|
||||
- "127.0.0.1:5100:5000" # Local only, BunkerWeb will proxy
|
||||
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}
|
||||
- ASPNETCORE_ENVIRONMENT=Production
|
||||
- ASPNETCORE_URLS=http://+:5000
|
||||
- ConnectionStrings__DefaultConnection=Data Source=/app/data/littleshop-production.db
|
||||
|
||||
# JWT Configuration - Production Secret
|
||||
- Jwt__Key=ff34ur340uifoisdjf03uur283hr238n9978sdfgb82rn8dh_LittleShop2025
|
||||
- Jwt__Issuer=LittleShop-Production
|
||||
- Jwt__Audience=LittleShop-Production
|
||||
- Jwt__ExpiryInHours=24
|
||||
|
||||
# SilverPay Configuration (pay.thebankofdebbie.giize.com)
|
||||
- SilverPay__BaseUrl=http://silverpay-api:8001 # Internal Docker network
|
||||
- SilverPay__PublicUrl=https://pay.thebankofdebbie.giize.com
|
||||
- SilverPay__ApiKey=7703aa7a62fa4b40a87e9cfd867f5407147515c0986116ea54fc00c0a0bc30d8
|
||||
- SilverPay__WebhookSecret=Thefa1r1esd1d1twebhooks2024
|
||||
- SilverPay__DefaultWebhookUrl=https://admin.thebankofdebbie.giize.com/api/orders/payments/webhook
|
||||
- SilverPay__AllowUnsignedWebhooks=false
|
||||
|
||||
# Admin Credentials (for initial setup)
|
||||
- AdminUser__Username=admin
|
||||
- AdminUser__Password=Thefa1r1esd1d1t
|
||||
|
||||
# Royal Mail Settings (if needed)
|
||||
- RoyalMail__ClientId=
|
||||
- RoyalMail__ClientSecret=
|
||||
|
||||
# WebPush Notifications
|
||||
- WebPush__VapidPublicKey=BMc6fFJZ8oIQKQzcl3kMnP9tTsjrm3oI_VxLt3lAGYUMWGInzDKn7jqclEoZzjvXy1QXGFb3dIun8mVBwh-QuS4
|
||||
- WebPush__VapidPrivateKey=dYuuagbz2CzCnPDFUpO_qkGLBgnN3MEFZQnjXNkc1MY
|
||||
- WebPush__Subject=mailto:admin@thebankofdebbie.giize.com
|
||||
|
||||
volumes:
|
||||
- telebot_data:/app/data
|
||||
- telebot_logs:/app/logs
|
||||
- /opt/littleshop/data:/app/data
|
||||
- /opt/littleshop/uploads:/app/wwwroot/uploads
|
||||
- /opt/littleshop/logs:/app/logs
|
||||
networks:
|
||||
- littleshop-network
|
||||
depends_on:
|
||||
- littleshop
|
||||
- redis
|
||||
- bridge # Use default bridge to communicate with other containers
|
||||
healthcheck:
|
||||
test: ["CMD", "pgrep", "-f", "dotnet.*TeleBot"]
|
||||
test: ["CMD", "curl", "-f", "http://localhost:5000/api/catalog/products"]
|
||||
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
|
||||
logging:
|
||||
driver: "json-file"
|
||||
options:
|
||||
max-size: "10m"
|
||||
max-file: "3"
|
||||
labels:
|
||||
# BunkerWeb labels for reverse proxy
|
||||
- "bunkerweb.AUTOCONF=yes"
|
||||
- "bunkerweb.SERVER_NAME=admin.thebankofdebbie.giize.com"
|
||||
- "bunkerweb.USE_REVERSE_PROXY=yes"
|
||||
- "bunkerweb.REVERSE_PROXY_URL=/"
|
||||
- "bunkerweb.REVERSE_PROXY_HOST=http://littleshop-admin:5000"
|
||||
- "bunkerweb.AUTO_LETS_ENCRYPT=yes"
|
||||
- "bunkerweb.USE_MODSECURITY=yes"
|
||||
|
||||
networks:
|
||||
littleshop-network:
|
||||
driver: bridge
|
||||
bridge:
|
||||
external: true
|
||||
Reference in New Issue
Block a user