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

Преносима версия

Настройка

Стартирай HolyArrs като обикновена програма на Linux или Windows, без Docker. Docker остава основният начин да го пуснеш.

  • Python 3, Git и Docker на машината за изграждане.
  • Пълен кеш на модулите на Go от нормално изграждане на проекта и инсталирани зависимости на frontend от app/frontend/package-lock.json.
  • Изграденото уеб приложение трябва да е записано с commit. Изграждането ползва само код с commit; промените без commit се пропускат.
  1. От копието на кода изгради архивите:

    Terminal window
    python deploy/release/package.py --ref HEAD --version 1.0.0 --output /srv/holyarrs-archives/1.0.0 --web-node-modules app/frontend/node_modules --module-cache /home/you/go/pkg/mod

    Ползвай нова изходна папка извън копието. Трябва да видиш по един архив за всяка цел и файл SHA256SUMS.

  2. Провери архива спрямо SHA256SUMS.

  3. Разархивирай го в нова папка. Дръж програмата и конфигурацията в отделни папки.

  4. Стартирай я със своя път за конфигурация:

    Terminal window
    ./holyarrs -config /srv/holyarrs/config -addr :6262

    На Windows PowerShell:

    Terminal window
    .\holyarrs.exe -config 'C:\HolyArrs\config' -addr ':6262'
  5. Отвори http://your-server:6262. Трябва да видиш съветника за първо стартиране. Направи акаунта на собственика веднага; първият посетител става собственик.

Кой потребител я стартира

Връзка към Кой потребител я стартира

Стартирай HolyArrs под отделен акаунт, с право за запис само в конфигурацията и в твоята медия.

  • Като root извън контейнер, без PUID и PGID, спира със „started as root outside a container“.
  • С зададени PUID и PGID предава папката с конфигурация на този потребител и превключва към него.
  • На Windows защити папката с конфигурация с NTFS право за този акаунт.

Архивът не инсталира услуга. Настрой автоматичния рестарт и твърдите лимити на паметта в собствения си мениджър на услуги (systemd, NSSM, Task Scheduler). Рестартът от приложението и възстановяването на резервно копие и двете излизат и очакват да бъдат стартирани отново.

Актуализирай и върни назад

Връзка към Актуализирай и върни назад
  1. Провери новия архив, преди да спреш приложението.
  2. Спри HolyArrs и копирай цялата папка с конфигурация, заедно с главния ключ. Или направи резервно копие в приложението и пази ключа му отделно.
  3. Разархивирай новата програма в друга папка. Запази старата програма и старото копие на конфигурацията.
  4. Стартирай новата програма върху конфигурацията си. Трябва да можеш да влезеш, а /health трябва да показва running.

Виж Резервни копия.

Проблем Причина Решение
„started as root outside a container“ Стартирано като root Стартирай я като отделен потребител или задай PUID и PGID.
Приложението излиза след възстановяване Възстановяването подготвя данните и излиза с код 75 Стартирай го пак, за да се приложи. Настрой мениджъра на услуги да го рестартира.
HTTPS заявките се провалят на Linux Няма системни CA сертификати Инсталирай ги.
Изграждането казва, че изходът съществува Съществуващи изходни папки се отказват Избери нова папка.
Опции за изграждане
Опция Какво прави По подразбиране
--targets Подмножество, разделено със запетаи, което да се изгради linux-amd64,linux-arm64,linux-armv7,windows-amd64
--low-resource Всеки контейнер за изграждане получава 1 CPU, 2 GiB и 256 процеса; Go изгражда по един пакет наведнъж. Пакетирането пак върви на хоста, извън тези лимити. изключено

Изграждането върви в закрепения образ на Go за проекта, с изключена мрежа, така че не изтегля нищо. Кешът на модулите е монтиран само за четене. Ако някоя цел се провали, не остава изходна папка. Commit-ът се добавя към номера на версията и се вгражда в програмата; приложението и резервните му копия го съобщават.

Какво съдържа един архив

Програмата, лицензът, бележките за външни компоненти, ръководствата, манифестът на изходния код и идентичността на пакета. Отделен архив с изходния код държи изходния код на проекта и зависимостите на Go; дръж го до двоичните файлове.

SHA256SUMS доказва, че файловете съвпадат. Не е подпис. Един и същ commit, версия и входни данни дават същите архиви, така че можеш да изградиш наново, за да провериш.

Бележки за изпълнението
Тема Подробност
Път на конфигурацията По подразбиране /config. Винаги подавай -config, на локален диск.
Цел за паметта 384 MiB без GOMEMLIMIT. Задай го на около 80 процента от паметта, която даваш. Цел, не твърд лимит.
Режим за малко памет На Linux се включва сам при около 2.5 GiB или по-малко; целта пада до една четвърт от паметта, между 192 и 384 MiB. HOLYARRS_LOW_MEMORY=1 или 0 решава.
Node Не е нужен за стартиране.
Hardlink Дръж изтеглянията и папките на Библиотеката на една файлова система.

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