Files
Flaro/server/docker-compose.example.yml
T

88 lines
3.8 KiB
YAML

# Beispiel, kein fertiger Betrieb. Jeder Pfad hier gehört angepasst.
#
# Übernommen aus einem laufenden Plex-Container auf einem UGREEN-NAS — die
# Form ist bewährt, die Werte sind es nur dort.
services:
flaro:
# Die Registry des eigenen Gitea. Wer woanders veröffentlicht, trägt
# hier etwas anderes ein — siehe docs/NAS-EINRICHTEN.md.
image: git.scarriffle.com/scarriffle/flaro:latest
container_name: flaro
restart: unless-stopped
ports:
- "8080:8080"
environment:
- TZ=Europe/Zurich
# Plakate, Hintergründe und NFO-Dateien neben den Film legen.
#
# **Standardmässig aus.** Dafür muss die Medieneinhängung unten ohne
# `:ro` stehen — und damit kann der Server dort im Grundsatz schreiben.
# Dass er nur Beiwerk anlegt, hängt an einer Erlaubnisliste im Code
# (`SidecarNames`): poster.jpg, fanart.jpg, logo.png, movie.nfo,
# tvshow.nfo, je Folge eine NFO und ein Standbild. Alles andere lehnt er
# ab, auch Mediendateien — die werden nie geändert, umbenannt oder
# gelöscht.
#
# Der Gewinn: dein Bestand wird tragbar. Ein Umzug, ein Neuaufbau der
# Datenbank oder ein zweiter Server finden Zuordnungen und Bilder wieder.
- FLARO_WRITE_SIDECARS=true
# Womit das Bild gerechnet wird, wenn eine Wiedergabe umkodiert werden
# muss — weil der Browser den Codec nicht kennt oder eine kleinere
# Auflösung gewählt wurde.
#
# auto prüft, ob /dev/dri/renderD128 da ist, und nimmt sonst
# den Hauptprozessor. Das ist die Voreinstellung.
# vaapi erzwingt die Grafikeinheit. Fehlt sie, scheitert die
# Wiedergabe — nützlich, um zu prüfen, ob sie wirklich greift.
# none immer in Software. Langsam, aber überall gleich.
#
# **Zum blossen Umpacken wird nichts davon gebraucht.** Eine MKV mit
# H.264 nach MP4 zu schachteln kostet den Server fast nichts.
# - FLARO_HWACCEL=auto
# Wem die Dateien auf dem Wirt gehören. 1000:1000 ist die Voreinstellung
# im Image; wer andere Kennungen hat, trägt sie hier ein — `id -u` und
# `id -g` auf dem Wirt sagen, welche.
user: "1000:1000"
volumes:
# Datenbank und Einstellungen. **Das Einzige, was gesichert werden muss.**
- /volume4/CRITICAL/Docker/Flaro/config:/config
# Bilder und Zwischenstände. Darf verlorengehen, baut sich neu auf.
- /volume4/CRITICAL/Docker/Flaro/cache:/cache
# Kratzplatz fürs Umrechnen. Am besten auf eine SSD und nicht dorthin,
# wo die Medien liegen — hier wird viel und kurzlebig geschrieben.
- /volume1/Transcode:/transcode
# Die Medien.
#
# **Ohne `:ro`, weil FLARO_WRITE_SIDECARS oben an ist.** Wer das nicht
# will, setzt die Variable auf `false` und hängt wieder mit `:ro` ein —
# dann bleiben Bilder und Metadaten nur in Flaros Cache, und der Bestand
# ist gegen jeden Zugriff des Servers geschützt.
#
# Transcode-Zwischenstände kommen hier **nie** her; die liegen auf dem
# eigenen Volume darüber.
#
# Was hier eingehängt wird, ist der Pfad, den du später in der Oberfläche
# als Bibliothek anlegst — also `/media`, nicht `/volume4/MYFLIX`.
- /volume4/MYFLIX:/media
# Hardware fürs Umrechnen. Intel wie AMD laufen über VAAPI an derselben
# Stelle. Fehlt die Zeile, rechnet Flaro in Software — langsamer, aber es
# läuft. Zum blossen Umpacken wird sie ohnehin nicht gebraucht.
devices:
- /dev/dri:/dev/dri
# Die Gesundheitsprüfung steckt im Image und fragt /health ab — hier
# braucht es sie nicht noch einmal. Die alte Fassung prüfte `dotnet
# --info` und sagte damit nur, dass die Laufzeit da ist; das war sie auch,
# während der Server noch migrierte.