littleshop/docker-compose.yml
SysAdmin 86f19ba044
All checks were successful
Build and Deploy LittleShop / Deploy to Pre-Production (CT109) (push) Successful in 59s
Build and Deploy LittleShop / Deploy to Production VPS (Manual Only) (push) Has been skipped
feat: Add AlexHost deployment pipeline and bot control functionality
- Add Gitea Actions workflow for manual AlexHost deployment
- Add docker-compose.alexhost.yml for production deployment
- Add deploy-alexhost.sh script with server-side build support
- Add Bot Control feature (Start/Stop/Restart) for remote bot management
- Add discovery control endpoint in TeleBot
- Update TeleBot with StartPollingAsync/StopPolling/RestartPollingAsync
- Fix platform architecture issues by building on target server
- Update docker-compose configurations for all environments

Deployment tested successfully:
- TeleShop: healthy at https://teleshop.silentmary.mywire.org
- TeleBot: healthy with discovery integration
- SilverPay: connectivity verified

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 12:33:46 +00:00

75 lines
1.8 KiB
YAML

version: '3.8'
services:
littleshop:
build: .
image: littleshop:latest
container_name: littleshop
restart: unless-stopped
ports:
- "5100:5000" # Host:Container
environment:
- ASPNETCORE_ENVIRONMENT=Production
- ASPNETCORE_URLS=http://+:5000
- ConnectionStrings__DefaultConnection=Data Source=/app/data/littleshop-production.db
- Jwt__Key=LittleShop-Production-JWT-SecretKey-32Characters-2025
- Jwt__Issuer=LittleShop
- Jwt__Audience=LittleShop
volumes:
- littleshop-data:/app/data
- littleshop-uploads:/app/wwwroot/uploads
- littleshop-logs:/app/logs
networks:
- littleshop-network
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:5000/api/version"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
telebot:
image: telebot:latest
container_name: telebot-service
restart: unless-stopped
environment:
- ASPNETCORE_ENVIRONMENT=Production
- LittleShop__ApiUrl=http://littleshop:5000
- LittleShop__UseTor=false
- Telegram__BotToken=${TELEGRAM_BOT_TOKEN}
networks:
- littleshop-network
- silverpay-network
depends_on:
littleshop:
condition: service_healthy
healthcheck:
test: ["CMD-SHELL", "ps aux | grep dotnet || exit 1"]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
volumes:
littleshop-data:
driver: local
littleshop-uploads:
driver: local
littleshop-logs:
driver: local
networks:
littleshop-network:
driver: bridge
silverpay-network:
external: true