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>
This commit is contained in:
111
DEPLOYMENT-CHECKLIST.md
Normal file
111
DEPLOYMENT-CHECKLIST.md
Normal file
@@ -0,0 +1,111 @@
|
||||
# ✅ 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
|
||||
Reference in New Issue
Block a user