version: '3.8'

services:
  littleshop:
    build:
      context: ./LittleShop
      dockerfile: Dockerfile
    image: littleshop:latest
    container_name: littleshop
    restart: unless-stopped
    ports:
      - "5000:5000"
    environment:
      - ASPNETCORE_ENVIRONMENT=Production
      - ASPNETCORE_URLS=http://+:5000
      - ConnectionStrings__DefaultConnection=Data Source=/app/data/littleshop.db
      - Jwt__Key=${JWT_KEY:-YourSuperSecretKeyThatIsAtLeast32CharactersLong!}
      - Jwt__Issuer=LittleShop
      - Jwt__Audience=LittleShop
      - BTCPayServer__Url=${BTCPAY_URL:-}
      - BTCPayServer__ApiKey=${BTCPAY_API_KEY:-}
      - BTCPayServer__StoreId=${BTCPAY_STORE_ID:-}
      - Logging__LogLevel__Default=Information
      - Logging__LogLevel__Microsoft=Warning
    volumes:
      - littleshop_data:/app/data
      - littleshop_uploads:/app/wwwroot/uploads
      - littleshop_logs:/app/logs
    networks:
      - littleshop_network
    labels:
      - "traefik.enable=false"  # Since you'll configure upstream separately

volumes:
  littleshop_data:
    driver: local
  littleshop_uploads:
    driver: local
  littleshop_logs:
    driver: local

networks:
  littleshop_network:
    driver: bridge