# 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: ```env 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: ```env 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): ```yaml 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_URL` - `DATA_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.