Zum Inhalt

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:

  1. Eine Datei speichern, die Compose-Datei.
  2. Evey mit einem Befehl starten.
  3. 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 ältere docker-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-data neben 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.

docker-compose.yml
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:
  1. Die Version von Evey. latest ist die neueste Version. Um bei einer bestimmten Version zu bleiben, nehmen Sie ein Versions-Tag wie 0.1.0 oder ein sha-<commit>-Tag: siehe Sicherungen und Updates.
  2. 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.
  3. Eveys eigene Daten: Datenbank, Schlüssel, erzeugte Passwörter, Suchindex, Bilder, Logs, Sicherungen, Plugins. Diesen Ordner müssen Sie sichern.
  4. 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.
  5. Ihre Medien. Ersetzen Sie /path/to/your/media durch 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 :ro an, um ihn schreibgeschützt zu machen: Dann kann Evey dort nicht schreiben, und Reparaturen schlagen fehl.
  6. 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:

docker compose up -d

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 .subtitles neben 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-data vor 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 PUID und PGID auf den NAS-Benutzer, dem die Medien gehören (id <benutzer> per SSH; bei Synology meist um 1026, Gruppe 100). Freigaben auf einem NAS gehören oft root, und den übernimmt Evey nie von selbst.
  • Intel-NAS mit Quick Sync: Fügen Sie die Zeilen devices: und group_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.