Към съдържанието

Настройка

Настройка

Build-ни HolyArrs от сорс и го отвори в браузъра си на порт 6262.

  • Go, във версията, която назовава go.mod.
  • Node 24 и npm.
  • Терминал в корена на хранилището.

Не ти трябва C компилатор. Build-овете ползват CGO_ENABLED=0.

  1. Инсталирай пакетите на уеб приложението:

    Terminal window
    npm --prefix app/frontend ci
  2. Build-ни уеб приложението:

    Terminal window
    npm --prefix app/frontend run build

    Трябва да видиш как build-ът свършва и app/frontend/dist се пълни с файлове.

  3. Build-ни програмата:

    Terminal window
    go build -o bin/holyarrs ./app/backend/cmd/holyarrs
  4. Пусни я със своя папка с конфигурация:

    Terminal window
    ./bin/holyarrs -config ./config
  5. Отвори http://localhost:6262.

    Трябва да видиш съветника при първо стартиране. Направи акаунта на собственика.

-config приема папка на локален диск и по подразбиране е /config. -addr сменя адреса, на който слуша, и по подразбиране е :6262.

Работа по уеб приложението

Връзка към Работа по уеб приложението

Остави програмата пусната. Във втори терминал стартирай сървъра за разработка:

Terminal window
npm --prefix app/frontend run dev

Сървърът за разработка се презарежда при запис и праща API извикванията към пуснатата програма. Трябва да видиш промяната си в браузъра до 2 s.

Команда Прави
make ui Инсталира пакетите на уеб приложението и го build-ва
make build make ui, после build-ва bin/holyarrs
make test go test с таймаут 25 мин
make vet go vet ./...
make docker Build-ва образа като holyarrs:dev
make e2e Пуска end-to-end тестовете

Включи задържана функция

Връзка към Включи задържана функция

Някои функции са задържани и остават изключени. Назови ги в HOLYARRS_FLAGS, разделени със запетая:

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

Страниците крият изключената функция, а маршрутите ѝ не съществуват. Потребителите четат за тях в Задържани функции.

Напълни Библиотеката с демо данни

Връзка към Напълни Библиотеката с демо данни

Демо инструментът пълни папка с конфигурация с демо колекция. Работи само със спрян HolyArrs и само върху папка, която си маркирал като лаборатория. Маркирай я веднъж:

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

После seed -config ./config добавя демо библиотеката, а seed -config ./config -reset-demo маха само каквото е добавил. Папката с медия трябва да е /data/media, освен ако не подадеш -force. Инструментите за разработка не влизат в образа. Виж Инструменти за разработка.

Проблем. Страниците изглеждат стари, след като си променил уеб приложението. Причина. Програмата сервира билда, който е вградила. Решение. Пусни build-а на уеб приложението, после build-а на Go, после стартирай програмата.

Проблем. go build пада заради липсващ app/frontend/dist. Причина. Уеб приложението още не е build-нато. Решение. Първо изпълни стъпка 2.

Проблем. Програмата казва, че портът е зает. Причина. Друг HolyArrs или приложение държи 6262. Решение. Подай друг адрес: ./bin/holyarrs -config ./config -addr :6263.

Задържани превключватели
Превключвател Функция
row_title_stats Статистика за редовете в Explore за собственика
trakt_lists Списъци на Trakt
alert_channels_more Канали за известия отвъд Discord и имейл
subtitle_sites Сайтове за субтитри и търсене на субтитри
emby_signin Вход с Emby
go_back Стъпки за връщане към предишната версия

За да добавиш такъв, регистрирай името му с startup.RegisterFeature и провери startup.FeatureOn, преди да регистрираш маршрутите му. Имената живеят в app/backend/internal/core/startup (feature.go).

Инструменти за разработка
Инструмент Команда Прави
Demo go run ./app/backend/tools/demo <command> -config DIR Работи със спряна папка с конфигурация. Команди: inspect (преброява записите), fingerprint, query "SELECT ..." (само за четене), doctor, seed, showcase
Фалшив сайт за субтитри go run ./app/backend/tools/fakesubs Сервира фалшиви сайтове за субтитри за тестове на 127.0.0.1:18727. -addr го мести; -accounts-addr добавя фалшивите сайтове с акаунти
Списък с маршрути go run ./app/backend/tools/apidoc Презаписва API маршрути
Build на образа
Terminal window
docker build --file deploy/Dockerfile --tag holyarrs:dev .
docker run -p 6262:6262 -v ./config:/config holyarrs:dev

Образът започва FROM scratch и съдържа програмата, CA сертификатите и лицензите. Той изпълнява -config /config -addr :6262.

HolyArrs е безплатен. Ако ти е спестил време, сложи му звезда в GitHub, подкрепи го или почерпи ме с кафе.