aee0f09db8
- Datafabrik: Dockerfile fix, agentorkestrering fungerar - Vision: Identify-modell, FAISS, OCR alla testade - API: Alla 7 integrationstester passerade - Upplösare: Entitetsupplösning verifierad
87 lines
2.6 KiB
Bash
Executable File
87 lines
2.6 KiB
Bash
Executable File
#!/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" |