littleshop/DEPLOYMENT-CHECKLIST.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

3.2 KiB

LittleShop Deployment Checklist

Pre-Deployment Requirements

  • Portainer access: http://10.0.0.51:9000 (sysadmin / Phenom12#.)
  • Traefik network named traefik exists on portainer-03
  • DNS littleshop.silverlabs.uk points to Traefik server
  • Let's Encrypt resolver named letsencrypt configured in Traefik

Deployment Files Ready

  • Dockerfile - Multi-stage ASP.NET Core build
  • docker-compose.yml - Portainer-ready with Traefik labels
  • .dockerignore - Optimized build context
  • appsettings.Production.json - Production configuration
  • .env.example - Environment variables template

Step-by-Step Process

1. Access Portainer

  • Open http://10.0.0.51:9000
  • Login: sysadmin / Phenom12#.
  • Navigate to Stacks

2. Create Stack

  • Click Add stack
  • Name: littleshop
  • Method: Web editor (or Repository if using Git)

3. Configuration

  • Copy docker-compose.yml content
  • Add environment variables:
    • JWT_SECRET_KEY = YourSuperSecretKeyThatIsAtLeast32CharactersLong!
    • BTCPAY_SERVER_URL = (optional, leave empty)
    • BTCPAY_STORE_ID = (optional, leave empty)
    • BTCPAY_API_KEY = (optional, leave empty)
    • BTCPAY_WEBHOOK_SECRET = (optional, leave empty)

4. Deploy

  • Click Deploy the stack
  • Wait for build completion
  • Check for any error messages

5. Verification

  • Container shows Running status
  • No error logs in container
  • Access https://littleshop.silverlabs.uk
  • Admin panel accessible at /Admin

6. Initial Setup

  • Login to admin panel: admin / admin
  • CRITICAL: Change admin password
  • Create categories
  • Add products
  • Test order flow

7. Post-Deployment

  • SSL certificate working (green padlock)
  • All pages load correctly
  • Database persisting data
  • File uploads working
  • Logs being written

Expected Results

URLs

  • Main Site: https://littleshop.silverlabs.uk
  • Admin Panel: https://littleshop.silverlabs.uk/Admin
  • API Docs: https://littleshop.silverlabs.uk/swagger

Default Credentials

  • Username: admin
  • Password: admin
  • ⚠️ MUST CHANGE ON FIRST LOGIN

Container Info

  • Name: littleshop
  • Image: littleshop:latest
  • Port: 8080 (internal)
  • Volumes: 3 persistent volumes for data, uploads, logs

Traefik Integration

  • Host: littleshop.silverlabs.uk
  • SSL: Let's Encrypt automatic
  • Headers: Proper forwarding configured

Troubleshooting

Build Fails

  • Check source code uploaded correctly
  • Verify .NET 9.0 SDK available
  • Check Dockerfile syntax

Container Won't Start

  • Check environment variables
  • Verify port 8080 not in use
  • Check volume permissions

Site Not Accessible

  • Verify Traefik network connection
  • Check DNS resolution
  • Confirm SSL certificate issued

Database Issues

  • Ensure volume permissions correct
  • Check /app/data directory writable
  • Verify SQLite database created

Status: 🟢 READY FOR DEPLOYMENT

Next Action: Follow PORTAINER-STEPS.md to deploy via Portainer UI