Przejdź do głównej zawartości

Konfiguracja środowiska

Konfiguracja

Zbuduj HolyArrs ze źródeł i otwórz go w przeglądarce na porcie 6262.

  • Go w wersji, którą podaje go.mod.
  • Node 24 i npm.
  • Terminal w głównym folderze repo.

Kompilator C nie jest potrzebny. Buildy używają CGO_ENABLED=0.

  1. Zainstaluj pakiety aplikacji webowej:

    Terminal window
    npm --prefix app/frontend ci
  2. Zbuduj aplikację webową:

    Terminal window
    npm --prefix app/frontend run build

    Zobaczysz, jak build się kończy, a app/frontend/dist zapełnia się plikami.

  3. Zbuduj program:

    Terminal window
    go build -o bin/holyarrs ./app/backend/cmd/holyarrs
  4. Uruchom go z własnym folderem konfiguracji:

    Terminal window
    ./bin/holyarrs -config ./config
  5. Otwórz http://localhost:6262.

    Zobaczysz kreator pierwszego uruchomienia. Utwórz konto właściciela.

-config przyjmuje folder na dysku lokalnym i domyślnie ma wartość /config. -addr zmienia adres nasłuchu i domyślnie ma wartość :6262.

Pracuj nad aplikacją webową

Link do: Pracuj nad aplikacją webową

Zostaw program uruchomiony. W drugim terminalu uruchom serwer deweloperski:

Terminal window
npm --prefix app/frontend run dev

Serwer deweloperski odświeża się po zapisie i wysyła wywołania API do działającego programu. Swoją zmianę zobaczysz w przeglądarce w ciągu 2 s.

Polecenie Robi
make ui Instaluje pakiety webowe i buduje aplikację webową
make build Wykonuje make ui, potem buduje bin/holyarrs
make test go test z limitem 25 min
make vet go vet ./...
make docker Buduje image jako holyarrs:dev
make e2e Uruchamia testy end-to-end

Włącz funkcję wstrzymaną

Link do: Włącz funkcję wstrzymaną

Niektóre funkcje są wstrzymane i zostają wyłączone. Podaj je w HOLYARRS_FLAGS, oddzielone przecinkami:

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

Strony ukrywają wyłączoną funkcję, a jej tras nie ma. Użytkownicy czytają o nich w sekcji Funkcje wstrzymane.

Wypełnij bibliotekę danymi demo

Link do: Wypełnij bibliotekę danymi demo

Narzędzie demo wypełnia folder konfiguracji kolekcją demonstracyjną. Działa tylko na zatrzymanym HolyArrs i tylko na folderze oznaczonym jako laboratoryjny. Oznacz go raz:

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

Potem seed -config ./config dodaje bibliotekę demo, a seed -config ./config -reset-demo usuwa tylko to, co dodało. Folder multimediów musi być /data/media, chyba że podasz -force. Narzędzia deweloperskie nie trafiają do image. Zobacz Narzędzia deweloperskie.

Jeśli to nie działa

Link do: Jeśli to nie działa

Objaw. Strony wyglądają staro po zmianie w aplikacji webowej. Przyczyna. Program serwuje build, który ma wbudowany. Rozwiązanie. Wykonaj build webowy, potem build Go, a potem uruchom program.

Objaw. go build kończy się błędem o braku app/frontend/dist. Przyczyna. Aplikacja webowa nie jest jeszcze zbudowana. Rozwiązanie. Najpierw wykonaj krok 2.

Objaw. Program mówi, że port jest zajęty. Przyczyna. Port 6262 zajmuje inny HolyArrs lub inna aplikacja. Rozwiązanie. Podaj inny adres: ./bin/holyarrs -config ./config -addr :6263.

Dla zaawansowanych

Link do: Dla zaawansowanych
Przełączniki funkcji wstrzymanych
Przełącznik Funkcja
plex_watchlists Listy do obejrzenia z Plexa zamieniają się w prośby
row_title_stats Statystyki wierszy w Explore dla właściciela
trakt_lists Listy z Trakta
alert_channels_more Kanały powiadomień poza Discordem i e-mailem
subtitle_sites Serwisy z napisami i wyszukiwanie napisów
emby_signin Logowanie przez Emby
go_back Kroki powrotu do poprzedniej wersji

Żeby dodać nowy, zarejestruj jego nazwę przez startup.RegisterFeature i sprawdź startup.FeatureOn, zanim zarejestrujesz jego trasy. Nazwy leżą w app/backend/internal/core/startup (feature.go).

Narzędzia deweloperskie
Narzędzie Polecenie Robi
Demo go run ./app/backend/tools/demo <command> -config DIR Działa na zatrzymanym folderze konfiguracji. Polecenia: inspect (liczniki), fingerprint, query "SELECT ..." (tylko do odczytu), doctor, seed, showcase
Fałszywy serwis z napisami go run ./app/backend/tools/fakesubs Udostępnia fałszywe serwisy z napisami do testów na 127.0.0.1:18727. -addr zmienia adres; -accounts-addr dodaje atrapy serwisów z kontami
Lista tras go run ./app/backend/tools/apidoc Przepisuje stronę Trasy API
Zbuduj image
Terminal window
docker build --file deploy/Dockerfile --tag holyarrs:dev .
docker run -p 6262:6262 -v ./config:/config holyarrs:dev

Image startuje od FROM scratch i zawiera program, certyfikaty CA i licencje. Uruchamia się z -config /config -addr :6262.

HolyArrs jest darmowy. Jeśli oszczędził ci czas, daj mu gwiazdkę na GitHubie, zostań sponsorem albo postaw mi kawę.