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

142 lines
4.3 KiB
Markdown

# 🚀 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:
```yaml
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!** 🚀