littleshop/hostinger-docker-compose.yml
SilverLabs DevTeam 54618348ab Update LittleShop configuration and deployment files
- Modified CLAUDE.md documentation
- Updated Dockerfile configuration
- Updated Program.cs and production settings
- Added deployment scripts for Hostinger
- Added Hostinger environment configuration

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 19:27:58 +01:00

73 lines
2.4 KiB
YAML

version: '3.8'
services:
littleshop:
build: ./LittleShop
image: littleshop:latest
container_name: littleshop
restart: unless-stopped
environment:
- ASPNETCORE_ENVIRONMENT=Production
- ASPNETCORE_URLS=http://+:8080
- Jwt__Key=${Jwt__Key:-YourSuperSecretKeyThatIsAtLeast32CharactersLong!}
- BTCPAY_SERVER_URL=${BTCPAY_SERVER_URL:-https://thebankofdebbie.giize.com}
- BTCPAY_STORE_ID=${BTCPAY_STORE_ID:-}
- BTCPAY_API_KEY=${BTCPAY_API_KEY:-}
- BTCPAY_WEBHOOK_SECRET=${BTCPAY_WEBHOOK_SECRET:-}
- ConnectionStrings__DefaultConnection=Data Source=/app/data/littleshop.db
volumes:
- littleshop_data:/app/data
- littleshop_uploads:/app/wwwroot/uploads
- littleshop_logs:/app/logs
ports:
- "8081:8080" # Expose on port 8081 to avoid conflicts with BTCPay
networks:
- littleshop_network
labels:
# Traefik configuration for reverse proxy
- "traefik.enable=true"
- "traefik.docker.network=littleshop_network"
# HTTP Router for LittleShop
- "traefik.http.routers.littleshop.rule=Host(`shop.thebankofdebbie.giize.com`)"
- "traefik.http.routers.littleshop.entrypoints=websecure"
- "traefik.http.routers.littleshop.tls=true"
- "traefik.http.routers.littleshop.tls.certresolver=letsencrypt"
# Service
- "traefik.http.services.littleshop.loadbalancer.server.port=8080"
# Middleware for forwarded headers
- "traefik.http.routers.littleshop.middlewares=littleshop-headers"
- "traefik.http.middlewares.littleshop-headers.headers.customrequestheaders.X-Forwarded-Proto=https"
- "traefik.http.middlewares.littleshop-headers.headers.customrequestheaders.X-Forwarded-Host=shop.thebankofdebbie.giize.com"
# Optional: Reverse proxy with nginx if Traefik is not available
nginx:
image: nginx:alpine
container_name: littleshop-nginx
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
- ./ssl:/etc/nginx/ssl:ro
depends_on:
- littleshop
networks:
- littleshop_network
profiles:
- nginx # Only start with: docker-compose --profile nginx up
volumes:
littleshop_data:
driver: local
littleshop_uploads:
driver: local
littleshop_logs:
driver: local
networks:
littleshop_network:
driver: bridge