AuthorBuddy/INSTALL.md
2026-05-31 19:31:27 +02:00

5.8 KiB
Raw Permalink Blame History

AuthorBuddy Installation auf Ubuntu VPS

Voraussetzungen

  • Ubuntu 22.04 oder 24.04 LTS
  • Root-Zugriff oder sudo
  • Mindestens 8 GB RAM, 4 Kerne (empfohlen für lokale LLMs)
  • ca. 15 GB freier Speicher für Ollama + Modelle

1. System aktualisieren & Abhängigkeiten

sudo apt update && sudo apt upgrade -y
sudo apt install -y curl git ufw

2. .NET 10 SDK / Runtime installieren

# Microsoft-Paketquelle registrieren
sudo apt install -y wget
wget https://dot.net/v1/dotnet-install.sh -O /tmp/dotnet-install.sh
chmod +x /tmp/dotnet-install.sh

# .NET 10 SDK (zum Build)
sudo /tmp/dotnet-install.sh --channel 10.0 --install-dir /usr/share/dotnet

# Symlink für globale Nutzung
sudo ln -sf /usr/share/dotnet/dotnet /usr/local/bin/dotnet

# Prüfen
dotnet --version
# => 10.0.xxx

Falls nur Runtime benötigt wird: --channel 10.0 --runtime aspnetcore

3. Ollama installieren

curl -fsSL https://ollama.com/install.sh | sh

# Dienst starten
sudo systemctl enable ollama
sudo systemctl start ollama

# Prüfen
ollama --version

# Port prüfen (default 11434)
ss -tlnp | grep 11434

Modelle pullen

Für den Betrieb werden mindestens 2 Modelle empfohlen:

# Standard-Modell für Lektorat, Assistent, Stilanalyse
ollama pull llama3.2:3b

# Modell für Rechtschreibprüfung (kleiner, schneller)
ollama pull llama3.2:1b

Größere Modelle (7B13B) liefern bessere Texte. Beispiele:

ollama pull llama3.1:8b
ollama pull dolphin-mistral:7b

Übersicht Speicherverbrauch:

Modell RAM/VRAM
llama3.2:1b ~1 GB
llama3.2:3b ~2,5 GB
llama3.1:8b ~5,5 GB
dolphin-mistral:7b ~5 GB

4. App bauen & deployen

# Quellcode auf den Server kopieren (z.B. via SCP oder Git)
git clone https://github.com/dein-repo/AuthorBuddy.Web /opt/AuthorBuddy.Web
# ODER: scp -r . ubuntu@deine-vps:/opt/AuthorBuddy.Web

cd /opt/AuthorBuddy.Web

# Restore & Build (Release)
dotnet restore
dotnet publish -c Release -o /opt/AuthorBuddy.Web/publish

# Daten-Verzeichnis für Projekte anlegen
mkdir -p /home/ubuntu/Documents/AuthorBuddy

Datenbankpfad prüfen

LiteDB erzeugt die Datenbank author_brain.db standardmäßig im bin/-Verzeichnis.
Besser: Ein festes Verzeichnis setzen → Umgebungsvariable oder Code-Anpassung in Program.cs:

// Program.cs (optional  falls gewünscht)
var dbDir = "/opt/AuthorBuddy.Web/data";
Directory.CreateDirectory(dbDir);
var dbPath = Path.Combine(dbDir, "author_brain.db");

5. Systemd-Service einrichten

sudo nano /etc/systemd/system/authorbuddy.service
[Unit]
Description=AuthorBuddy Web
After=network.target ollama.service

[Service]
WorkingDirectory=/opt/AuthorBuddy.Web/publish
ExecStart=/usr/share/dotnet/dotnet /opt/AuthorBuddy.Web/publish/AuthorBuddy.Web.dll
Restart=always
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=authorbuddy
User=ubuntu
Environment=ASPNETCORE_URLS=http://localhost:5000
Environment=ASPNETCORE_ENVIRONMENT=Production

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable authorbuddy
sudo systemctl start authorbuddy

# Status prüfen
sudo systemctl status authorbuddy

# Logs live
sudo journalctl -u authorbuddy -f

6. Reverse Proxy mit Nginx

sudo apt install -y nginx

/etc/nginx/sites-available/authorbuddy:

server {
    listen 80;
    server_name deine-domain.de;

    # (Optional: später mit Certbot auf HTTPS upgraden)
    # return 301 https://$host$request_uri;

    location / {
        proxy_pass http://localhost:5000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # Blazor Server benötigt lange Timeouts für Streaming
        proxy_read_timeout 86400s;
        proxy_send_timeout 86400s;
    }
}
sudo ln -s /etc/nginx/sites-available/authorbuddy /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

HTTPS (Let's Encrypt)

sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d deine-domain.de

7. Firewall

sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable

8. Einrichtung in der App

Nach dem ersten Start:

  1. Im Browser öffnen: http://deine-domain.de
  2. Ersten Benutzer registrieren (wird automatisch Admin)
  3. Settings → Ollama Server: http://localhost:11434
  4. Test Verbindung prüfen
  5. Modelle zuweisen:
    • RAG-Modell: llama3.2:3b (oder größer)
    • Stil-Modell: llama3.2:3b
    • Rechtschreib-Modell: llama3.2:1b (klein = schnell)
  6. Prompts prüfen Standard-Prompts sind vorbelegt

9. Nützliche Befehle

Aktion Befehl
App neustarten sudo systemctl restart authorbuddy
Logs ansehen sudo journalctl -u authorbuddy -f
Ollama neustarten sudo systemctl restart ollama
Verfügbare Modelle ollama list
Modell laufend testen ollama run llama3.2:3b
App stoppen sudo systemctl stop authorbuddy

10. Backup

# Datenbank + Projekte sichern
sudo tar czf /root/backup-authorbuddy-$(date +%Y%m%d).tar.gz \
  /opt/AuthorBuddy.Web/data \
  /home/ubuntu/Documents/AuthorBuddy

Fehlerbehebung

  • 502 Bad Gateway → App-Logs prüfen: journalctl -u authorbuddy -f
  • Ollama nicht erreichbarcurl http://localhost:11434 testen
  • Port bereits belegtASPNETCORE_URLS in der Service-Datei ändern
  • Blazor SignalR disconnectproxy_read_timeout in Nginx erhöhen (86400s)