Перейти к содержимому

Настройка

Настройка

Соберите HolyArrs из исходного кода и откройте его в браузере на порту 6262.

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

Компилятор C не нужен. Сборки идут с CGO_ENABLED=0.

  1. Установите пакеты веб-приложения:

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

    Terminal window
    npm --prefix app/frontend run build

    Сборка завершится, а в app/frontend/dist появятся файлы.

  3. Соберите программу:

    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.

Работа над веб-приложением

Ссылка на «Работа над веб-приложением»

Не останавливайте программу. Во втором терминале запустите dev-сервер:

Terminal window
npm --prefix app/frontend run dev

Dev-сервер перезагружает страницу при сохранении и отправляет вызовы API в работающую программу. Ваша правка появится в браузере в течение 2 с.

Команда Что делает
make ui Устанавливает веб-пакеты и собирает веб-приложение
make build make ui, затем собирает bin/holyarrs
make test go test с тайм-аутом 25 мин
make vet go vet ./...
make docker Собирает образ как holyarrs:dev
make e2e Запускает сквозные тесты

Включите придержанную функцию

Ссылка на «Включите придержанную функцию»

Некоторые функции придержаны и остаются выключенными. Перечислите их в 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. Инструменты разработки в образ не попадают. См. Инструменты разработки.

Признак проблемы. После изменения веб-приложения страницы выглядят старыми. Причина. Программа отдаёт ту сборку, которую в неё встроили. Решение. Запустите сборку веба, затем сборку Go, затем запустите программу.

Признак проблемы. go build падает из-за отсутствующей app/frontend/dist. Причина. Веб-приложение ещё не собрано. Решение. Сначала выполните шаг 2.

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

Переключатели придержанных функций
Переключатель Функция
plex_watchlists Списки просмотра Plex становятся запросами
row_title_stats Статистика рядов Обзора для владельца
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).

Инструменты разработки
Инструмент Команда Что делает
Демо 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
Сборка образа
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, станьте спонсором или угостите меня кофе.