58ca4e68db
- Go backend API with full CRUD for all modules (CRM, Sales, Finance, HR, Legal, Marketing, Support, Purchase, Inventory, Projects, Automation, Analytics) - Rust analytics service with parallel report generation - C runtime with POSIX shared memory IPC - PostgreSQL schema with 30+ tables, full migrations - Redis cache, sessions, pub/sub - Kafka event streaming with Zookeeper - WebSocket hub for real-time updates - Automation engine with cron jobs, workflows, event triggers - JWT authentication, multi-tenant from start - Docker Compose with all services - Nginx reverse proxy with rate limiting - Integration tests passing - Feature gap analysis against Fortnox/Odoo/Visma Refs: BOC-001
136 lines
2.7 KiB
Markdown
136 lines
2.7 KiB
Markdown
# quiXzoom Shop — Produktionsdeployment
|
|
|
|
## Förutsättningar
|
|
|
|
- Server med nginx installerat
|
|
- PostgreSQL körande på localhost:5432
|
|
- Redis körande på localhost:6379
|
|
- Python 3.9+ installerat
|
|
- Certbot (Let's Encrypt) installerat
|
|
|
|
## 1. Databas
|
|
|
|
```bash
|
|
# Skapa databas (om inte redan gjort)
|
|
psql -U postgres -c "CREATE DATABASE quixzoom_shop;"
|
|
```
|
|
|
|
## 2. Miljövariabler
|
|
|
|
Skapa `/home/bernt/.openclaw/workspace/quixzoom-shop/.env`:
|
|
|
|
```bash
|
|
PORT=8087
|
|
HOST=127.0.0.1
|
|
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/quixzoom_shop
|
|
REDIS_URL=redis://localhost:6379/0
|
|
JWT_SECRET=din-jwt-secret-här
|
|
SHOP_MISSION_THRESHOLD=10
|
|
VERIFIED_MISSION_THRESHOLD=100
|
|
VERIFIED_APPROVAL_RATE=0.95
|
|
|
|
# Stripe (test-nycklar för utveckling, byt till live för produktion)
|
|
STRIPE_SECRET_KEY=sk_test_...
|
|
STRIPE_PUBLISHABLE_KEY=pk_test_...
|
|
STRIPE_WEBHOOK_SECRET=whsec_...
|
|
```
|
|
|
|
## 3. Systemd Service
|
|
|
|
```bash
|
|
# Kopiera service-filen
|
|
sudo cp quixzoom-shop.service /etc/systemd/system/
|
|
|
|
# Uppdatera med rätt miljövariabler
|
|
sudo systemctl edit --full quixzoom-shop
|
|
|
|
# Aktivera och starta
|
|
sudo systemctl daemon-reload
|
|
sudo systemctl enable quixzoom-shop
|
|
sudo systemctl start quixzoom-shop
|
|
|
|
# Kontrollera status
|
|
sudo systemctl status quixzoom-shop
|
|
```
|
|
|
|
## 4. Nginx
|
|
|
|
```bash
|
|
# Kopiera konfiguration
|
|
sudo cp nginx-shop.conf /etc/nginx/conf.d/
|
|
|
|
# Testa konfiguration
|
|
sudo nginx -t
|
|
|
|
# Ladda om
|
|
sudo nginx -s reload
|
|
```
|
|
|
|
## 5. SSL (Let's Encrypt)
|
|
|
|
```bash
|
|
# Skapa certifikat
|
|
sudo certbot --nginx -d shop.quixzoom.com
|
|
|
|
# Auto-förnya (testa)
|
|
sudo certbot renew --dry-run
|
|
```
|
|
|
|
## 6. Stripe Webhook
|
|
|
|
1. Gå till [Stripe Dashboard](https://dashboard.stripe.com/webhooks)
|
|
2. Skapa ny endpoint: `https://shop.quixzoom.com/api/payment/webhook`
|
|
3. Välj events:
|
|
- `payment_intent.succeeded`
|
|
- `payment_intent.payment_failed`
|
|
4. Kopiera "Signing secret" till `STRIPE_WEBHOOK_SECRET`
|
|
|
|
## 7. Verifiera
|
|
|
|
```bash
|
|
# Health check
|
|
curl https://shop.quixzoom.com/health
|
|
|
|
# Testa produkter
|
|
curl https://shop.quixzoom.com/api/products
|
|
|
|
# Testa verifiering
|
|
curl https://shop.quixzoom.com/verify/QZ-TEST123
|
|
```
|
|
|
|
## 8. Övervakning
|
|
|
|
```bash
|
|
# Loggar
|
|
sudo journalctl -u quixzoom-shop -f
|
|
|
|
# Nginx access log
|
|
tail -f /var/log/nginx/access.log
|
|
|
|
# Nginx error log
|
|
tail -f /var/log/nginx/error.log
|
|
```
|
|
|
|
## 9. Uppdateringar
|
|
|
|
```bash
|
|
# Pulla senaste kod
|
|
cd /home/bernt/.openclaw/workspace/quixzoom-shop
|
|
git pull
|
|
|
|
# Installera nya dependencies
|
|
pip install -r requirements.txt
|
|
|
|
# Starta om
|
|
sudo systemctl restart quixzoom-shop
|
|
```
|
|
|
|
## URL:er
|
|
|
|
| Tjänst | URL |
|
|
|--------|-----|
|
|
| Shop | `https://shop.quixzoom.com` |
|
|
| API | `https://shop.quixzoom.com/api/` |
|
|
| Verifiering | `https://shop.quixzoom.com/verify/{id}` |
|
|
| Health | `https://shop.quixzoom.com/health` |
|