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

111 lines
3.2 KiB
Markdown

# ✅ 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 ✅
- [x] `Dockerfile` - Multi-stage ASP.NET Core build
- [x] `docker-compose.yml` - Portainer-ready with Traefik labels
- [x] `.dockerignore` - Optimized build context
- [x] `appsettings.Production.json` - Production configuration
- [x] `.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