littleshop/PORTAINER-STEPS.md
SysAdmin e1b377a042 Initial commit of LittleShop project (excluding large archives)
- BTCPay Server integration
- TeleBot Telegram bot
- Review system
- Admin area
- Docker deployment configuration

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 15:07:38 +01:00

4.3 KiB

🚀 LittleShop Portainer Deployment Steps

Immediate Actions Required

Step 1: Access Portainer

  1. Open browser and go to: http://10.0.0.51:9000
  2. Login with:
    • Username: sysadmin
    • Password: Phenom12#.

Step 2: Create New Stack

  1. Click Stacks in the left sidebar
  2. Click Add stack button
  3. Configure:
    • Name: littleshop
    • Build method: Web editor

Step 3: Copy Docker Compose Configuration

Copy this exact content into the web editor:

version: '3.8'

services:
  littleshop:
    build: .
    image: littleshop:latest
    container_name: littleshop
    restart: unless-stopped
    environment:
      - ASPNETCORE_ENVIRONMENT=Production
      - ASPNETCORE_URLS=http://+:8080
      - JWT_SECRET_KEY=${JWT_SECRET_KEY:-YourSuperSecretKeyThatIsAtLeast32CharactersLong!}
      - BTCPAY_SERVER_URL=${BTCPAY_SERVER_URL:-}
      - BTCPAY_STORE_ID=${BTCPAY_STORE_ID:-}
      - BTCPAY_API_KEY=${BTCPAY_API_KEY:-}
      - BTCPAY_WEBHOOK_SECRET=${BTCPAY_WEBHOOK_SECRET:-}
    volumes:
      - littleshop_data:/app/data
      - littleshop_uploads:/app/wwwroot/uploads
      - littleshop_logs:/app/logs
    networks:
      - traefik
      - default
    labels:
      # Traefik configuration
      - "traefik.enable=true"
      - "traefik.docker.network=traefik"
      
      # HTTP Router
      - "traefik.http.routers.littleshop.rule=Host(`littleshop.silverlabs.uk`)"
      - "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=littleshop.silverlabs.uk"

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

networks:
  traefik:
    external: true
  default:
    driver: bridge

Step 4: Add Environment Variables

In the Environment variables section, add:

Name Value
JWT_SECRET_KEY YourSuperSecretKeyThatIsAtLeast32CharactersLong!
BTCPAY_SERVER_URL (Leave empty for now)
BTCPAY_STORE_ID (Leave empty for now)
BTCPAY_API_KEY (Leave empty for now)
BTCPAY_WEBHOOK_SECRET (Leave empty for now)

Step 5: Upload Source Code

⚠️ IMPORTANT: You need to upload the LittleShop source code to the server.

Option A - Git Repository (Recommended):

  1. In Stack configuration, choose Repository instead of Web editor
  2. Enter your Git repository URL
  3. Set Compose path: docker-compose.yml

Option B - Manual Upload:

  1. Zip the entire LittleShop folder
  2. Upload via Portainer's file manager to /opt/stacks/littleshop/

Step 6: Deploy

  1. Click Deploy the stack
  2. Wait for the build and deployment to complete

Step 7: Verify Deployment

  1. Go to Containers to see the running littleshop container
  2. Check logs for any errors
  3. Visit https://littleshop.silverlabs.uk

Step 8: Initial Setup

  1. Go to https://littleshop.silverlabs.uk/Admin
  2. Login with: admin / admin
  3. IMMEDIATELY change the password
  4. Configure your shop (categories, products, etc.)

Troubleshooting

Build Issues

  • Ensure source code is properly uploaded
  • Check container logs in Portainer
  • Verify all files are present in the build context

SSL Certificate Issues

  • Ensure DNS littleshop.silverlabs.uk points to your Traefik server
  • Check Traefik logs for Let's Encrypt errors
  • Verify traefik network exists

Application Errors

  • Check container logs in Portainer
  • Verify environment variables are set correctly
  • Ensure volumes are properly mounted

Success Indicators

  • Container status: Running
  • Application accessible at: https://littleshop.silverlabs.uk
  • Admin panel accessible at: https://littleshop.silverlabs.uk/Admin
  • SSL certificate valid
  • Database initialized with default admin user

Ready to deploy! 🚀