Installation¶
Diese Seite ist für die Person, die Evey für den Haushalt betreiben wird. Sie brauchen einen Computer oder ein NAS, das eingeschaltet bleibt, mit Docker. Es sind drei Schritte:
- Eine Datei speichern, die Compose-Datei.
- Evey mit einem Befehl starten.
- Evey im Browser öffnen.
Danach übernimmt der Assistent der Ersteinrichtung.
Evey läuft in einem einzigen Container. Die Datenbank und die Suchmaschine
sind darin enthalten. Sie müssen also nichts anderes installieren, keine
.env-Datei schreiben und nichts an Arbeitsspeicher oder Prozessor
einstellen.
Nehmen Sie die Datei von dieser Seite, nicht die aus dem Git-Repository
Die docker-compose.yml im Hauptordner des Git-Repositorys ist ein
anderer Aufbau, für Entwickler und fortgeschrittene Installationen: Sie
braucht eine .env-Datei und startet zusätzliche Dienste. Sie ist unter
Erweiterte Bereitstellungen
beschrieben.
Was Sie brauchen¶
- Einen Computer oder ein NAS, das eingeschaltet bleibt, mit einem x86-64-Prozessor (Intel oder AMD). ARM64-Geräte brauchen ein Versions-Tag, das es noch nicht gibt: siehe ARM-Rechner.
- Docker mit Compose v2. Der Befehl heißt
docker compose, mit Leerzeichen, nicht das älteredocker-compose. - Ihren Medienordner: dort, wo Ihre Filme, Serien, Musik oder Fotos liegen.
- Etwas Speicherplatz für Eveys eigene Daten (Datenbank, Bilder,
Suchindex). Die Compose-Datei unten legt sie in einem Ordner namens
evey-dataneben der Datei ab.
Evey antwortet in Ihrem Heimnetz über einfaches HTTP. Um von unterwegs zu schauen, braucht es HTTPS, das Sie später hinzufügen können: Fernzugriff und HTTPS.
Schritt 1: Die Compose-Datei speichern¶
Legen Sie einen Ordner für Evey an, zum Beispiel evey, und speichern Sie
darin diese Datei als docker-compose.yml. Ändern Sie eine einzige Zeile:
den Pfad zu Ihren Medien (die mit 5 markierte Zeile). Liegen Ihre Filme zum
Beispiel in /srv/media, wird die Zeile zu - /srv/media:/media.
services:
evey:
image: eveyproject/evey:latest # (1)!
container_name: evey-server
ports:
- "9091:9091" # (2)!
volumes:
- ./evey-data:/data # (3)!
- evey-cache:/cache # (4)!
- /path/to/your/media:/media # (5)!
stop_grace_period: 60s # (6)!
restart: unless-stopped
volumes:
evey-cache:
- Die Version von Evey.
latestist die neueste Version. Um bei einer bestimmten Version zu bleiben, nehmen Sie ein Versions-Tag wie0.1.0oder einsha-<commit>-Tag: siehe Sicherungen und Updates. - Der Port. Die Zahl links ist die, die Sie im Browser und in den Apps
eintippen. Behalten Sie
9091, außer ein anderes Programm nutzt ihn schon. - Eveys eigene Daten: Datenbank, Schlüssel, erzeugte Passwörter, Suchindex, Bilder, Logs, Sicherungen, Plugins. Diesen Ordner müssen Sie sichern.
- Ein Zwischenspeicher für umgewandelte Videos, verkleinerte Fotos und
Musik-Cover. Sie können ihn jederzeit löschen, er füllt sich von selbst
wieder. Die Poster-Varianten liegen nicht darin, sondern unter
evey-data/artworks. - Ihre Medien. Ersetzen Sie
/path/to/your/mediadurch den echten Ordner. In Evey heißt dieser Ordner/media. Evey darf absichtlich hineinschreiben, damit der Medienzustand eine Datei reparieren kann, wenn Sie es wollen. Hängen Sie:roan, um ihn schreibgeschützt zu machen: Dann kann Evey dort nicht schreiben, und Reparaturen schlagen fehl. - Gibt der Datenbank Zeit, sauber anzuhalten, wenn der Container stoppt. Die 10 Sekunden, die Docker sonst lässt, sind für eine große Sammlung knapp.
Schritt 2: Evey starten¶
In einem Terminal, im Ordner mit der Datei:
Evey startet im Hintergrund. Um zu sehen, was es tut, führen Sie
docker compose logs -f evey aus; mit Ctrl+C beenden Sie die Anzeige,
Evey läuft weiter.
Beim ersten Start legt Evey seine Passwörter und seine Datenbank in
evey-data an. Sie müssen nichts vorbereiten.
Schritt 3: Evey im Browser öffnen¶
Die Adresse ist http://, dann die Adresse des Rechners, auf dem Docker
läuft, dann :9091:
| Wo Ihr Browser ist | Adresse zum Eintippen |
|---|---|
| Auf dem Rechner, auf dem Docker läuft | http://localhost:9091 |
| Auf einem anderen Computer oder einem Handy zu Hause | http:// + die IP-Adresse des Rechners, auf dem Docker läuft, + :9091, zum Beispiel http://192.168.1.20:9091 |
| Außerhalb Ihres Zuhauses | Noch nicht. Dafür braucht es HTTPS und eine öffentliche Adresse: siehe Fernzugriff und HTTPS. |
Die IP-Adresse des Rechners, auf dem Docker läuft, finden Sie in der Liste
der verbundenen Geräte Ihres Routers. Oder Sie führen ip a unter Linux,
ipconfig unter Windows, ifconfig unter macOS aus. Haben Sie den Port in
Schritt 1 geändert, nehmen Sie statt 9091 die linke Zahl aus der Zeile
ports:.
Beim ersten Mal öffnet die Adresse den Einrichtungsassistenten. Weiter geht es mit der Ersteinrichtung. Ist der Assistent fertig, öffnet dieselbe Adresse die Anmeldeseite.
Schreiben Sie sich diese Adresse auf
Alle im Haushalt werden sie brauchen. Die Apps für Android und Android TV
fragen auf ihrem ersten Bildschirm genau nach dieser Adresse, mit
http:// und dem Port:
Apps verbinden.
Wo Ihre Daten liegen¶
| Ort | Was er enthält | Dürfen Sie ihn löschen? |
|---|---|---|
./evey-data |
Datenbank, Schlüssel, erzeugte Passwörter, Suchindex, Vorschaubilder für die Zeitleiste, Bilder, Logs, Sicherungen, Plugins | Nein. Wer ihn verliert, verliert alle Konten, den Wiedergabeverlauf und alle Einstellungen. Einzige Ausnahme ist meili/ darin, der Suchindex: Der Befehl evey admin reindex-search baut ihn aus der Datenbank neu auf. |
Volume evey-cache |
Umgewandelte Videos, verkleinerte Fotos und Musik-Cover (die Poster-Varianten liegen in evey-data/artworks) |
Ja. Er füllt sich von selbst wieder. |
| Ihre Medienordner | Ihre Dateien | Evey löscht sie nie. Wenn Sie einen Titel in Evey entfernen, verschwindet er aus der Bibliothek, nicht von der Festplatte. |
Evey schreibt nur in drei Fällen in Ihre Medienordner:
- bei einer Reparatur, die Sie im Medienzustand starten (das Original wird als Sicherung behalten);
- bei einem Untertitel, der von OpenSubtitles geladen wurde (gespeichert in
einem Ordner
.subtitlesneben dem Film); - bei einer kleinen Testdatei, die gleich wieder gelöscht wird und prüft, ob Evey neue Dateien noch bemerkt.
Häufige Änderungen¶
Jede davon braucht nur ein paar Zeilen in derselben Datei.
Ein zweiter Medienordner. Fügen Sie - /other/path:/media2 unter
volumes: hinzu. Ein dritter wird /media3, und so weiter.
Ein zweites Evey auf demselben Rechner. Geben Sie ihm einen anderen
container_name und andere Host-Ports, sonst weigert sich docker compose up
zu starten (der Name ist schon vergeben).
Ein anderer Port. Ändern Sie nur die linke Zahl, zum Beispiel
"8080:9091". Tippen Sie dann :8080 im Browser und in den Apps.
Wem die Dateien gehören. Standardmäßig übernimmt Evey den Besitzer Ihres
Medienordners, damit Reparaturen schreiben können. Wenn Sie das selbst
festlegen wollen, fügen Sie PUID und PGID unter environment: hinzu, mit
den Zahlen, die id -u und id -g ausgeben. Der Container startet nur als
root, um das anzuwenden; Evey selbst läuft nie als root.
Eine Grafikkarte zum Umwandeln von Videos. Geben Sie dem Container Zugriff auf die Karte: siehe Hardwarebeschleunigung.
Welche Version Sie betreiben. Die Zeile image: entscheidet:
image: |
Das bekommen Sie |
|---|---|
eveyproject/evey:latest |
die neueste Version; jedes docker compose pull bringt Sie auf die nächste |
eveyproject/evey:0.1 |
den neuesten Fix dieser Minor-Linie (0.1.0, 0.1.1, ...), nie eine neue Minor-Version |
eveyproject/evey:0.1.0 |
genau diese Version, bis Sie die Zeile ändern |
eveyproject/evey:sha-<commit> |
ein einzelner exakter Build, das einzige Tag, das sich nie bewegt |
eveyproject/evey:master |
der Entwicklungszweig, bei jedem Push neu gebaut: zum Testen, nicht für einen Server, auf den Sie sich verlassen |
Versionsnummern folgen Semantic Versioning und beginnen bei
0.1.0; die 0.x-Linie ist die öffentliche Beta. Um die Version zu wechseln,
ändern Sie die Zeile und führen dann docker compose pull && docker compose up -d
aus; Ihre Daten bleiben in ./evey-data. Die laufende Version steht unter
Verwaltung → Dashboard, unter /healthz und mit
docker exec evey-server evey version. Ein Tag ohne Suffix ist das
vollständige Image mit allen Plugin-Laufzeiten (Python, Node.js, PHP, Ruby und
Lua); -nodejs und -lean sind schlankere Builds mit weniger davon
(Details).
Sie betreiben schon einen Reverse Proxy (ein Programm, das HTTPS vor Ihre Dienste setzt): siehe Fernzugriff und HTTPS.
Auf einem NAS (Synology Container Manager, QNAP Container Station)
- Legen Sie den Ordner
evey-datavor dem ersten Start an. Diese Oberflächen weigern sich, einen Ordner einzubinden, der nicht existiert, anders als die Docker-Kommandozeile. Sonst müssen Sie nichts anlegen. - Setzen Sie
PUIDundPGIDauf den NAS-Benutzer, dem die Medien gehören (id <benutzer>per SSH; bei Synology meist um1026, Gruppe100). Freigaben auf einem NAS gehören oftroot, und den übernimmt Evey nie von selbst. - Intel-NAS mit Quick Sync: Fügen Sie die Zeilen
devices:undgroup_add:hinzu, die unter Hardwarebeschleunigung beschrieben sind.
Was Evey selbst einrichtet¶
Das müssen Sie nicht einstellen:
- Wie viel Video der Server gleichzeitig umwandeln kann. Er misst den Rechner in seinem ersten ruhigen Moment.
- Die Grafikkarte. Evey erkennt die Karte, die Sie dem Container gegeben haben, und prüft sie mit einer echten Umwandlung.
- Wie jedes Gerät eine Datei abspielt. Das wird bei jeder Wiedergabe neu entschieden: siehe Wie Evey die Wiedergabeart wählt.
- Der Zugriff von außerhalb Ihres Zuhauses. Aus, bis Sie dem Server eine öffentliche Adresse geben.
Einstellungen, die Sie später vielleicht ändern (Servername, Zeitpläne, Grenzen, API-Schlüssel), liegen im Verwaltungsbereich, nicht in der Compose-Datei. Die wenigen Umgebungsvariablen, die es gibt, stehen in der Konfigurationsreferenz.