Перейти до вмісту

Портативна збірка

Налаштування

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

  • Python 3, Git і Docker на комп’ютері, де збираєш.
  • Заповнений кеш модулів Go зі звичайної збірки проєкту та встановлені залежності фронтенду з app/frontend/package-lock.json.
  • Зібраний вебзастосунок, закомічений у репозиторій. Збірка бере лише закомічений код; незакомічені правки не потрапляють.
  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 з проєкту, без мережі, тож нічого не завантажує. Кеш модулів змонтовано лише для читання. Якщо будь-яка ціль не вдалася, тека результату не лишається. Коміт додається до номера версії та вбудовується в програму; застосунок і його бекапи повідомляють його.

Що міститься в архіві

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

SHA256SUMS підтверджує, що файли збігаються. Це не підпис. Той самий коміт, версія й вхідні дані дають ті самі архіви, тож ти можеш перезібрати для перевірки.

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

HolyArrs безкоштовний. Якщо він заощадив тобі час, познач його зіркою на GitHub, підтримай проєкт або пригости мене кавою.