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
84 lines
2.2 KiB
Bash
Executable File
84 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
echo "🚀 quiXzoom Shop — Produktionssetup"
|
|
echo "===================================="
|
|
|
|
# Kontrollera att vi är root
|
|
if [ "$EUID" -ne 0 ]; then
|
|
echo "❌ Kör som root: sudo ./setup.sh"
|
|
exit 1
|
|
fi
|
|
|
|
# 1. Kontrollera förutsättningar
|
|
echo "📋 Kontrollerar förutsättningar..."
|
|
|
|
if ! command -v nginx &> /dev/null; then
|
|
echo "❌ nginx inte installerat"
|
|
exit 1
|
|
fi
|
|
|
|
if ! command -v certbot &> /dev/null; then
|
|
echo "❌ certbot inte installerat"
|
|
exit 1
|
|
fi
|
|
|
|
if ! command -v psql &> /dev/null; then
|
|
echo "❌ PostgreSQL inte installerat"
|
|
exit 1
|
|
fi
|
|
|
|
echo "✅ Alla förutsättningar uppfyllda"
|
|
|
|
# 2. Skapa databas
|
|
echo "🗄️ Skapar databas..."
|
|
su - postgres -c "psql -c \"CREATE DATABASE quixzoom_shop;\"" 2>/dev/null || echo " Databas finns redan"
|
|
|
|
# 3. Kopiera systemd service
|
|
echo "⚙️ Konfigurerar systemd service..."
|
|
cp quixzoom-shop.service /etc/systemd/system/
|
|
systemctl daemon-reload
|
|
systemctl enable quixzoom-shop
|
|
|
|
# 4. Kopiera nginx config
|
|
echo "🌐 Konfigurerar nginx..."
|
|
cp nginx-shop.conf /etc/nginx/conf.d/
|
|
nginx -t
|
|
|
|
# 5. SSL
|
|
echo "🔒 Sätter upp SSL..."
|
|
if [ ! -d "/etc/letsencrypt/live/quixzoom.com" ]; then
|
|
certbot --nginx -d shop.quixzoom.com --non-interactive --agree-tos --email admin@quixzoom.com
|
|
else
|
|
echo " SSL-certifikat finns redan"
|
|
fi
|
|
|
|
# 6. Starta tjänster
|
|
echo "🚀 Startar tjänster..."
|
|
systemctl start quixzoom-shop
|
|
systemctl reload nginx
|
|
|
|
# 7. Verifiera
|
|
echo "✅ Verifierar..."
|
|
sleep 3
|
|
|
|
if curl -s http://localhost:8087/health | grep -q "ok"; then
|
|
echo "✅ Shop-tjänsten körs på port 8087"
|
|
else
|
|
echo "⚠️ Shop-tjänsten svarar inte, kolla loggar: journalctl -u quixzoom-shop"
|
|
fi
|
|
|
|
echo ""
|
|
echo "🎉 Setup klar!"
|
|
echo ""
|
|
echo "Nästa steg:"
|
|
echo "1. Uppdatera miljövariabler: sudo systemctl edit --full quixzoom-shop"
|
|
echo "2. Lägg till Stripe-nycklar i miljövariablerna"
|
|
echo "3. Konfigurera Stripe webhook: https://dashboard.stripe.com/webhooks"
|
|
echo ""
|
|
echo "URL:er:"
|
|
echo " Shop: https://shop.quixzoom.com"
|
|
echo " API: https://shop.quixzoom.com/api/"
|
|
echo " Verify: https://shop.quixzoom.com/verify/{id}"
|
|
echo " Health: https://shop.quixzoom.com/health"
|