Unraid-Installation
Inhalt
Community Apps (empfohlen)
Sobald das Template im Community-Apps-Store freigegeben ist, ist das Community-Apps-Plugin der einfachste Weg. Laut Repo ist der Eintrag eingereicht, aber noch nicht freigegeben. Bis dahin gilt die manuelle Template-Installation weiter unten.
- Die Unraid-Web-UI öffnen und den Tab Apps aufrufen.
- Nach ITSWEBER Play suchen.
- Auf der Karte von ITSWEBER Play Installieren klicken.
- Der Template-Editor öffnet sich. Folgende Felder konfigurieren:
| Variable | Standard | Beschreibung |
|---|---|---|
PUBLIC_URL |
https://play.example.com |
Öffentliche HTTPS-URL der Instanz ohne Slash am Ende. Muss auf den Reverse Proxy zeigen. |
NEXT_PUBLIC_SITE_URL |
https://play.example.com |
Gleicher Wert wie PUBLIC_URL. |
AUTH_SECRET |
(leer) | Mit openssl rand -hex 32 erzeugen. |
POSTGRES_PASSWORD |
(leer) | Mit openssl rand -hex 24 erzeugen und denselben Wert in DATABASE_URL statt REPLACE_WITH_POSTGRES_PASSWORD eintragen. |
MINIO_ROOT_PASSWORD |
(leer) | Mit openssl rand -hex 24 erzeugen. |
S3_SECRET_KEY |
(leer) | Gleicher Wert wie MINIO_ROOT_PASSWORD. |
INITIAL_ADMIN_EMAIL |
admin@example.com |
Belegt das Admin-Feld im Einrichtungsassistenten vor. |
INITIAL_ADMIN_PASSWORD |
(leer) | Im Template als Pflichtfeld markiert. |
WebUI Port |
3000 |
Einziger Port des Containers. |
- Auf Übernehmen klicken. Unraid lädt das Image herunter und startet den Container.
Manuelle Template-Installation
Falls ITSWEBER Play im Community-Apps-Store noch nicht verfügbar sein sollte, kann das Template manuell installiert werden:
itsweber-play.xmlaus dem GitHub-Repository herunterladen.- Die Datei nach
/boot/config/plugins/dockerMan/templates-user/auf dem Unraid-Server kopieren. - Im Tab Docker → Container hinzufügen — das ITSWEBER-Play-Template erscheint nun in der Template-Auswahl.
- Die Konfiguration wie oben beschrieben vornehmen.
Datenpersistenz
Alle Anwendungsdaten (Datenbank, Videodateien, Thumbnails, Konfiguration) werden im Container unter /data gespeichert. Unraid mappt diesen Pfad standardmäßig auf die Appdata-Freigabe:
/mnt/user/appdata/itsweber-play/data
Diesen Ordner niemals löschen — er enthält die Postgres-Datenbank und den gesamten MinIO-Objektspeicher. Regelmäßige Backups werden empfohlen; dafür können die eingebauten Backup-Werkzeuge von Unraid oder das Skript scripts/backup-all-in-one.sh aus dem Repository genutzt werden. scripts/backup.sh ist für den Multi-Container-Stack gedacht.
Erster Start
Nach dem Start des Containers (bis zu etwa 90 Sekunden für die Initialisierung der internen Services einplanen):
- Im Browser zu
http://[unraid-ip]:3000navigieren. - Der Einrichtungsassistent führt durch die Erstellung des Admin-Kontos und die grundlegende Instanzkonfiguration.
Aktualisieren
Das Template nutzt den Tag :main. Er wird bei jedem Push auf den main-Branch neu gebaut und ist damit der aktuelle Entwicklungsstand, kein getestetes Release.
- Im Unraid-Tab Docker den Container itsweber-play anklicken.
- Update suchen auswählen.
- Bei verfügbarem Update auf Aktualisieren klicken.
Der Container startet mit dem neuen Image neu. Prisma-Migrationen laufen automatisch beim Hochfahren — kein manueller Eingriff erforderlich.
Reverse Proxy
Für HTTPS und einen sauberen Domainnamen sollte ITSWEBER Play hinter einem Reverse Proxy betrieben werden.
Nginx Proxy Manager
Einen neuen Proxy-Host anlegen:
- Domainname:
play.example.com - Schema:
http - Ziel-Hostname:
[unraid-ip] - Ziel-Port:
3000 - Häufige Exploits blockieren und Websockets-Unterstützung aktivieren
- Im Tab SSL ein Let's-Encrypt-Zertifikat anfordern
PUBLIC_URL und NEXT_PUBLIC_SITE_URL im Container-Template auf https://play.example.com setzen und den Container neu starten. Die erlaubte Request-Größe am Proxy muss mindestens MAX_UPLOAD_SIZE_MB (Standard 8192) abdecken.
Traefik (Unraid Community Traefik Plugin)
Diese Labels über das Feld "Zusätzliche Parameter" zum Container hinzufügen:
--label traefik.enable=true
--label traefik.http.routers.play.rule=Host(`play.example.com`)
--label traefik.http.routers.play.entrypoints=websecure
--label traefik.http.routers.play.tls.certresolver=letsencrypt
--label traefik.http.services.play.loadbalancer.server.port=3000