Konfiguration
Inhalt
ITSWEBER Play wird über Umgebungsvariablen konfiguriert. Im All-in-One-Container sind Datenbank, Cache und Objektspeicher intern vorkonfiguriert — für ein einfaches Setup genügen nur zwei Pflichtangaben.
All-in-One-Hinweis
Im offiziellen AIO-Container (ghcr.io/itsweber-official/itsweber-play:main) laufen Postgres, Redis und MinIO intern als s6-overlay-Services. Sie müssen nicht extern bereitgestellt werden. Verbindungsstrings werden automatisch gesetzt.
Für ein funktionsfähiges Basis-Setup sind nur erforderlich:
BASE_URL— Die öffentliche URL der InstanzINITIAL_ADMIN_EMAIL— E-Mail-Adresse des ersten Admin-Kontos
Umgebungsvariablen
Erforderlich
| Variable | Standard | Beschreibung |
|---|---|---|
BASE_URL |
— | Vollständige öffentliche URL der Instanz, z. B. https://play.example.com. Wird für signierte URLs, E-Mail-Links und CORS verwendet. |
INITIAL_ADMIN_EMAIL |
— | E-Mail-Adresse, die beim ersten Login automatisch Admin-Rechte erhält. Nur einmalig ausgewertet. |
Optional — Instanz
| Variable | Standard | Beschreibung |
|---|---|---|
INSTANCE_NAME |
ITSWEBER Play |
Anzeigename im UI-Header und Browser-Titel |
REGISTRATION_ENABLED |
true |
Neue Benutzerregistrierungen erlauben. false aktiviert den Einladungs-Modus. |
MAX_UPLOAD_SIZE_MB |
5120 |
Maximale Upload-Dateigröße in MB. Standard entspricht 5 GB. |
Optional — Datenbank
Im AIO-Container automatisch konfiguriert. Nur bei externem Postgres-Einsatz setzen.
| Variable | Standard | Beschreibung |
|---|---|---|
DATABASE_URL |
auto (AIO) | Postgres-Verbindungsstring, z. B. postgresql://user:pass@host:5432/db |
Optional — Cache
Im AIO-Container automatisch konfiguriert. Nur bei externem Redis-Einsatz setzen.
| Variable | Standard | Beschreibung |
|---|---|---|
REDIS_URL |
auto (AIO) | Redis-Verbindungsstring, z. B. redis://host:6379 |
Optional — S3/MinIO
Im AIO-Container automatisch konfiguriert. Nur bei externem S3-kompatiblem Speicher setzen.
| Variable | Standard | Beschreibung |
|---|---|---|
MINIO_ENDPOINT |
auto (AIO) | S3-Endpunkt-URL, z. B. https://s3.example.com |
MINIO_ACCESS_KEY |
auto (AIO) | S3-Zugriffsschlüssel (Access Key ID) |
MINIO_SECRET_KEY |
auto (AIO) | S3-Geheimschlüssel (Secret Access Key) |
MINIO_BUCKET_RAW |
play-raw |
Bucket für Roh-Uploads |
MINIO_BUCKET_VIDEOS |
play-videos |
Bucket für HLS-Ausgaben |
MINIO_BUCKET_THUMBS |
play-thumbs |
Bucket für Thumbnails |
MINIO_BUCKET_ASSETS |
play-assets |
Bucket für Instanz-Assets (Logo etc.) |
Optional — E-Mail
Ohne E-Mail-Konfiguration sind Passwort-Reset und Benachrichtigungen deaktiviert.
| Variable | Standard | Beschreibung |
|---|---|---|
SMTP_HOST |
— | Hostname des SMTP-Servers, z. B. smtp.mailgun.org |
SMTP_PORT |
587 |
SMTP-Port (587 = STARTTLS, 465 = SSL) |
SMTP_USER |
— | SMTP-Benutzername |
SMTP_PASS |
— | SMTP-Passwort |
SMTP_FROM |
— | Absenderadresse, z. B. noreply@example.com |
SMTP_SECURE |
false |
true für Port 465 (direkt SSL), false für STARTTLS |
Optional — Erweitert
| Variable | Standard | Beschreibung |
|---|---|---|
LOG_LEVEL |
info |
Log-Verbosity: debug, info, warn, error |
WORKER_CONCURRENCY |
2 |
Parallele Transcodierungsjobs pro Worker-Prozess |
SESSION_SECRET |
auto | Geheimer Schlüssel für Session-Signierung. Im AIO zufällig generiert; bei mehreren Instanzen manuell setzen. |
Beispiel: docker-compose.yml
services:
play:
image: ghcr.io/itsweber-official/itsweber-play:main
container_name: itsweber-play
ports:
- "3000:3000"
volumes:
- play-data:/data
environment:
BASE_URL: "https://play.example.com"
INITIAL_ADMIN_EMAIL: "admin@example.com"
INSTANCE_NAME: "Meine Video-Plattform"
SMTP_HOST: "smtp.mailgun.org"
SMTP_PORT: "587"
SMTP_USER: "postmaster@example.com"
SMTP_PASS: "geheim"
SMTP_FROM: "noreply@example.com"
restart: unless-stopped
volumes:
play-data:
Produktions-Checkliste
Vor dem Go-Live empfohlene Einstellungen prüfen:
- [ ]
BASE_URLauf die echte HTTPS-URL gesetzt (keinhttp://, kein Trailing-Slash) - [ ]
INITIAL_ADMIN_EMAILgesetzt und identisch mit der bei der Registrierung verwendeten Adresse - [ ] SMTP konfiguriert (Passwort-Reset, Benachrichtigungen)
- [ ] Container hinter Reverse Proxy (Nginx/Traefik/Caddy) mit TLS-Terminierung
- [ ] Datenpersistenz: Volume
play-dataauf zuverlässigem Host-Pfad gemountet - [ ] Regelmäßige Backups des Volumes eingerichtet (enthält Postgres-Daten, MinIO-Objekte, Redis-Snapshots)
- [ ]
MAX_UPLOAD_SIZE_MBan verfügbaren Speicherplatz angepasst - [ ] Reverse Proxy
client_max_body_sizeauf denselben oder größeren Wert gesetzt
Hinweis zu Unraid
Auf Unraid werden alle Werte über das Community Applications-Template in der GUI gepflegt. Die Template-Datei befindet sich unter docker/unraid/itsweber-play.xml. Siehe Unraid-Installation für die vollständige Anleitung.
© Benjamin Weber · ITSWEBER — play.itsweber.net · GitHub