2.4 KiB
2.4 KiB
Unraid Deployment Runbook
Ziel
Dieses Dokument beschreibt den Schritt-für-Schritt Prozess zur Inbetriebnahme der helpyourneighbour Anwendung auf einem Unraid-Server. Es umfasst die Einrichtung von Docker-Containern, Umgebungsvariablen, DB-Verbindung und weitere relevante Konfigurationen.
Voraussetzungen
- Unraid Server (Version 6.10+ empfohlen)
- Docker-Plugin installiert
- Zugriff auf den Unraid WebUI
- Einrichtung eines Docker Networks (z.B.
helpyourneighbour-net)
Schritt-für-Schritt Anleitung
1. Datenbank-Container einrichten
Container Name:
helpyourneighbour-db
Image:
postgres:15-alpine
Environment-Variablen:
POSTGRES_DB=helpyourneighbour
POSTGRES_USER=helpyourneighbour_user
POSTGRES_PASSWORD=secure_password_here
Volumes:
- Host Path:
/mnt/user/appdata/helpyourneighbour-db/data - Container Path:
/var/lib/postgresql/data
Ports:
- Host Port:
5432 - Container Port:
5432
2. Backend-Container einrichten
Container Name:
helpyourneighbour-backend
Image:
openclaw/helpyourneighbour-backend:latest
Environment-Variablen:
DATABASE_URL=postgresql://helpyourneighbour_user:secure_password_here@helpyourneighbour-db:5432/helpyourneighbour
NODE_ENV=production
PORT=3000
Volumes:
- Host Path:
/mnt/user/appdata/helpyourneighbour-backend/logs - Container Path:
/app/logs
Ports:
- Host Port:
3000 - Container Port:
3000
Netzwerk:
- Verbinde mit dem Docker Network
helpyourneighbour-net
3. Healthcheck und Restart Policy
Healthcheck (Backend):
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000/health"]
interval: 30s
timeout: 10s
retries: 3
Restart Policy:
unless-stopped
4. Secrets Handling
Die folgenden Secrets sollten als Umgebungsvariablen oder in Unraid Secrets gespeichert werden:
DATABASE_URLDATA_ENCRYPTION_KEY(für Verschlüsselung von Adressen/Telefonnummern)
5. Log-Orte
- Backend Logs:
/mnt/user/appdata/helpyourneighbour-backend/logs - DB Logs:
/mnt/user/appdata/helpyourneighbour-db/data
Risiken und Fehlerbilder
- Fehlende Netzwerkverbindung: Stelle sicher, dass beide Container im gleichen Docker Network sind.
- Datenbank-Init fehlgeschlagen: Überprüfe die Umgebungsvariablen und Volumes der DB.
- Healthcheck-Fehler: Prüfe den Status des Backend-Containers und Logs.