Zum Inhalt springen

Einrichtung

Einrichtung

Baue HolyArrs aus dem Quellcode und öffne es in deinem Browser auf Port 6262.

Bevor du beginnst

Link zu Bevor du beginnst
  • Go in der Version, die go.mod nennt.
  • Node 24 und npm.
  • Ein Terminal im Wurzelordner des Repos.

Du brauchst keinen C-Compiler. Builds verwenden CGO_ENABLED=0.

Bauen und starten

Link zu Bauen und starten
  1. Installiere die Pakete der Web-App:

    Terminal window
    npm --prefix app/frontend ci
  2. Baue die Web-App:

    Terminal window
    npm --prefix app/frontend run build

    Du solltest sehen, dass der Build durchläuft und sich app/frontend/dist mit Dateien füllt.

  3. Baue das Programm:

    Terminal window
    go build -o bin/holyarrs ./app/backend/cmd/holyarrs
  4. Starte es mit einem eigenen Konfigurationsordner:

    Terminal window
    ./bin/holyarrs -config ./config
  5. Öffne http://localhost:6262.

    Du solltest den Assistenten für den ersten Start sehen. Lege das Besitzerkonto an.

-config erwartet einen Ordner auf einem lokalen Datenträger, Standard ist /config. -addr ändert die Adresse, auf der das Programm lauscht, Standard ist :6262.

An der Web-App arbeiten

Link zu An der Web-App arbeiten

Lass das Programm laufen. Starte in einem zweiten Terminal den Dev-Server:

Terminal window
npm --prefix app/frontend run dev

Der Dev-Server lädt beim Speichern neu und schickt API-Aufrufe an das laufende Programm. Du solltest deine Änderung innerhalb von 2 s im Browser sehen.

Das Makefile verwenden

Link zu Das Makefile verwenden
Befehl Aufgabe
make ui Die Web-Pakete installieren und die Web-App bauen
make build make ui, dann bin/holyarrs bauen
make test go test mit einem Timeout von 25 min
make vet go vet ./...
make docker Das Image als holyarrs:dev bauen
make e2e Die End-to-End-Tests ausführen

Eine zurückgestellte Funktion einschalten

Link zu Eine zurückgestellte Funktion einschalten

Manche Funktionen sind zurückgestellt und bleiben aus. Nenne sie in HOLYARRS_FLAGS, durch Kommas getrennt:

Terminal window
HOLYARRS_FLAGS=subtitle_sites,ai_apps ./bin/holyarrs -config ./config

Die Seiten blenden eine ausgeschaltete Funktion aus, und ihre Routen gibt es nicht. Benutzer lesen darüber unter Zurückgestellte Funktionen.

Die Bibliothek mit Demodaten füllen

Link zu Die Bibliothek mit Demodaten füllen

Das Demo-Werkzeug füllt einen Konfigurationsordner mit einer Demosammlung. Es arbeitet nur mit einem gestoppten HolyArrs und nur mit einem Ordner, den du als Testumgebung markiert hast. Markiere ihn einmal:

Terminal window
go run ./app/backend/tools/demo seed -config ./config -init-lab

Danach fügt seed -config ./config die Demobibliothek hinzu, und seed -config ./config -reset-demo entfernt nur, was das Werkzeug hinzugefügt hat. Der Medienordner muss /data/media sein, außer du übergibst -force. Die Entwicklerwerkzeuge kommen nicht ins Image. Siehe Entwicklerwerkzeuge.

Wenn es nicht funktioniert

Link zu Wenn es nicht funktioniert

Symptom. Die Seiten sehen alt aus, nachdem du die Web-App geändert hast. Ursache. Das Programm liefert den Build aus, den es eingebettet hat. Lösung. Führe den Web-Build aus, dann den Go-Build, und starte danach das Programm.

Symptom. go build scheitert an einem fehlenden app/frontend/dist. Ursache. Die Web-App ist noch nicht gebaut. Lösung. Führe zuerst Schritt 2 aus.

Symptom. Das Programm meldet, dass der Port belegt ist. Ursache. Ein anderes HolyArrs oder eine andere App belegt 6262. Lösung. Übergib eine andere Adresse: ./bin/holyarrs -config ./config -addr :6263.

Für Fortgeschrittene

Link zu Für Fortgeschrittene
Schalter für zurückgestellte Funktionen
Schalter Funktion
plex_watchlists Plex-Merklisten werden zu Anfragen
row_title_stats Statistiken zu den Reihen unter Entdecken für den Besitzer
trakt_lists Trakt-Listen
alert_channels_more Benachrichtigungskanäle über Discord und E-Mail hinaus
subtitle_sites Untertitel-Seiten und Untertitelsuche
emby_signin Mit Emby anmelden
go_back Schritte, um zur vorherigen Version zurückzukehren

Um einen hinzuzufügen, melde seinen Namen mit startup.RegisterFeature an und prüfe startup.FeatureOn, bevor du seine Routen anmeldest. Die Namen stehen in app/backend/internal/core/startup (feature.go).

Entwicklerwerkzeuge
Werkzeug Befehl Aufgabe
Demo go run ./app/backend/tools/demo <command> -config DIR Arbeitet mit einem gestoppten Konfigurationsordner. Befehle: inspect (Zählungen), fingerprint, query "SELECT ..." (nur lesend), doctor, seed, showcase
Fake-Untertitel-Seite go run ./app/backend/tools/fakesubs Liefert Fake-Untertitel-Seiten für Tests auf 127.0.0.1:18727 aus. -addr verlegt sie; -accounts-addr ergänzt die Fakes für die Kontoseiten
Routenliste go run ./app/backend/tools/apidoc Schreibt API-Routen neu
Das Image bauen
Terminal window
docker build --file deploy/Dockerfile --tag holyarrs:dev .
docker run -p 6262:6262 -v ./config:/config holyarrs:dev

Das Image beginnt mit FROM scratch und enthält das Programm, CA-Zertifikate und Lizenzen. Es startet mit -config /config -addr :6262.

Verwandte Seiten

Link zu Verwandte Seiten

HolyArrs ist kostenlos. Wenn es dir Zeit gespart hat, gib ihm einen Stern auf GitHub, unterstütze es als Sponsor oder spendier mir einen Kaffee.