- 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>
142 lines
4.3 KiB
Markdown
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!** 🚀 |