95 lines
2.4 KiB
Markdown
95 lines
2.4 KiB
Markdown
# 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.
|