Настройка
Настройка
Соберите HolyArrs из исходного кода и откройте его в браузере на порту 6262.
Перед началом
Ссылка на «Перед началом»- Go той версии, которая указана в
go.mod. - Node 24 и npm.
- Терминал в корне репозитория.
Компилятор C не нужен. Сборки идут с CGO_ENABLED=0.
Сборка и запуск
Ссылка на «Сборка и запуск»-
Установите пакеты веб-приложения:
Terminal window npm --prefix app/frontend ci -
Соберите веб-приложение:
Terminal window npm --prefix app/frontend run buildСборка завершится, а в
app/frontend/distпоявятся файлы. -
Соберите программу:
Terminal window go build -o bin/holyarrs ./app/backend/cmd/holyarrs -
Запустите её со своей папкой конфигурации:
Terminal window ./bin/holyarrs -config ./config -
Откройте
http://localhost:6262.Вы увидите мастер первого запуска. Создайте учётную запись владельца.
-config принимает папку на локальном диске, по умолчанию /config. -addr меняет адрес, на котором слушает программа, по умолчанию :6262.
Работа над веб-приложением
Ссылка на «Работа над веб-приложением»Не останавливайте программу. Во втором терминале запустите dev-сервер:
npm --prefix app/frontend run devDev-сервер перезагружает страницу при сохранении и отправляет вызовы API в работающую программу. Ваша правка появится в браузере в течение 2 с.
Варианты выбора
Ссылка на «Варианты выбора»Используйте Makefile
Ссылка на «Используйте Makefile»| Команда | Что делает |
|---|---|
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 через запятую:
HOLYARRS_FLAGS=subtitle_sites,ai_apps ./bin/holyarrs -config ./configСтраницы прячут выключенную функцию, а её маршрутов не существует. Пользователи читают о них в разделе Придержанные функции.
Заполните Медиатеку демо-данными
Ссылка на «Заполните Медиатеку демо-данными»Демо-инструмент заполняет папку конфигурации демо-коллекцией. Он работает только с остановленным HolyArrs и только с папкой, которую вы пометили как лабораторную. Пометьте её один раз:
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 ./ |
Работает с остановленной папкой конфигурации. Команды: 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 |
Сборка образа
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, станьте спонсором или угостите меня кофе.