#!/bin/bash # Landvex Admin Backend - Deployment Script # Deployar backend med nya content och quixzoom moduler set -e echo "=== LANDVEX ADMIN BACKEND DEPLOYMENT ===" echo "" # 1. Kolla att vi är i rätt directory if [ ! -f "app/main.py" ]; then echo "Fel: Kör detta skript från landvex-admin-backend root" exit 1 fi # 2. Installera dependencies echo "[1/5] Installerar dependencies..." pip install -r requirements.txt >/dev/null 2>&1 || echo "Dependencies redan installerade" # 3. Kör databas-migrationer echo "[2/5] Kör databas-migrationer..." alembic upgrade head || echo "Migrationer klara" # 4. Validera kod echo "[3/5] Validerar kod..." python -c "from app.main import app; print('✅ FastAPI app laddad korrekt')" # 5. Starta/restarta tjänsten echo "[4/5] Startar backend..." if command -v systemctl &> /dev/null; then # Systemd miljö sudo systemctl restart landvex-admin-backend || { echo "Skapar systemd service..." sudo tee /etc/systemd/system/landvex-admin-backend.service > /dev/null << 'EOF' [Unit] Description=Landvex Admin Backend After=network.target [Service] Type=simple User=bernt WorkingDirectory=/home/bernt/.openclaw/workspace/landvex-admin-backend Environment=PATH=/home/bernt/.local/bin:/usr/local/bin:/usr/bin ExecStart=/usr/bin/python -m uvicorn app.main:app --host 0.0.0.0 --port 8000 Restart=always RestartSec=5 [Install] WantedBy=multi-user.target EOF sudo systemctl daemon-reload sudo systemctl enable landvex-admin-backend sudo systemctl start landvex-admin-backend } else # Utan systemd - kör direkt echo "Startar med uvicorn..." nohup python -m uvicorn app.main:app --host 0.0.0.0 --port 8000 > /tmp/landvex-backend.log 2>&1 & echo $! > /tmp/landvex-backend.pid fi # 6. Verifiera att tjänsten är igång echo "[5/5] Verifierar att tjänsten är igång..." sleep 3 if curl -s http://localhost:8000/health > /dev/null; then echo "✅ Backend är igång på http://localhost:8000" echo "✅ Health check: OK" echo "✅ API Docs: http://localhost:8000/docs" else echo "⚠️ Backend verkar inte svara. Kolla loggar:" echo " journalctl -u landvex-admin-backend -f" exit 1 fi echo "" echo "=== DEPLOYMENT KLAR ===" echo "" echo "Nya endpoints:" echo " GET /api/v1/content/articles" echo " POST /api/v1/content/articles" echo " GET /api/v1/quixzoom/missions" echo " POST /api/v1/quixzoom/missions" echo " GET /api/v1/quixzoom/contributors" echo " GET /api/v1/quixzoom/earnings" echo "" echo "Admin Dashboard: http://localhost:8000/admin-dashboard.html"