Lumaktaw sa nilalaman

Portable build

Setup

Patakbuhin ang HolyArrs bilang karaniwang program sa Linux o Windows, nang walang Docker. Nananatiling Docker ang pangunahing paraan ng pagpapatakbo.

  • Python 3, Git at Docker sa build machine.
  • Isang may laman nang Go module cache mula sa normal na build ng project, at mga frontend dependency na na-install mula sa app/frontend/package-lock.json.
  • Naka-commit ang built na web app. Naka-commit na source lang ang ginagamit ng build; naiiwan ang mga hindi pa naka-commit na edit.
  1. Mula sa checkout, gawin ang mga archive:

    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

    Gumamit ng bagong output folder sa labas ng checkout. Dapat makita mo ang isang archive bawat target at isang SHA256SUMS file.

  2. Suriin ang archive laban sa SHA256SUMS.

  3. I-extract ito sa bagong folder. Panatilihing hiwalay na mga folder ang program at ang config.

  4. Simulan ito gamit ang sarili mong config path:

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

    Sa Windows PowerShell:

    Terminal window
    .\holyarrs.exe -config 'C:\HolyArrs\config' -addr ':6262'
  5. Buksan ang http://your-server:6262. Dapat makita mo ang wizard ng unang takbo. Gawin kaagad ang account ng may-ari; ang unang bisita ang nagiging may-ari.

Aling user ang nagpapatakbo nito

Link papunta sa Aling user ang nagpapatakbo nito

Patakbuhin ang HolyArrs sa sarili nitong account, na may permiso sa pagsulat lang sa config at sa media mo.

  • Kapag tumakbo ito bilang root sa labas ng container, nang walang PUID at PGID, hihinto ito at magpapakita ng “started as root outside a container”.
  • Kapag nakatakda ang PUID at PGID, ibinibigay nito ang config folder sa user na iyon at lumilipat dito.
  • Sa Windows, protektahan ang config folder gamit ang NTFS permission para sa account na iyon.

Walang service na ini-install ang archive. I-set up ang auto-restart at mahigpit na limitasyon sa memory sa sarili mong service manager (systemd, NSSM, Task Scheduler). Ang restart mula sa app at ang pag-restore ng backup ay parehong lumalabas at umaasang sisimulan ulit.

  1. Suriin ang bagong archive bago ihinto ang app.
  2. Ihinto ang HolyArrs at kopyahin ang buong config folder, kasama ang master key. O gumawa ng backup sa loob ng app at itabi nang hiwalay ang key nito.
  3. I-extract ang bagong program sa ibang folder. Itago ang lumang program at ang lumang kopya ng config.
  4. Simulan ang bagong program sa config mo. Dapat makapag-sign in ka, at dapat magpakita ng running ang /health.

Tingnan ang Mga backup.

Sintomas Dahilan Solusyon
“started as root outside a container” Sinimulan bilang root Patakbuhin ito bilang sarili nitong user, o itakda ang PUID at PGID.
Lumalabas ang app pagkatapos ng restore Inihahanda ng restore ang data at lumalabas na may code 75 Simulan ulit para mailapat ito. Itakda ang service manager mo na i-restart ito.
Pumapalya ang mga HTTPS call sa Linux Walang system CA certificate I-install ang mga ito.
Sinasabi ng build na umiiral na ang output Tinatanggihan ang mga umiiral nang output folder Pumili ng bagong folder.
Mga opsyon ng build
Opsyon Ano ang ginagawa Default
--targets Subset na pinaghihiwalay ng kuwit na ibi-build linux-amd64,linux-arm64,linux-armv7,windows-amd64
--low-resource Bawat builder container ay may 1 CPU, 2 GiB at 256 na proseso; isang package lang ang binubuo ng Go sa isang pagkakataon. Sa host pa rin tumatakbo ang pag-pack, sa labas ng mga limitasyong iyon. off

Tumatakbo ang build sa naka-pin na Go builder image ng project na naka-off ang networking, kaya walang dina-download. Naka-mount na read-only ang module cache. Kung pumalya ang anumang target, walang maiiwang output folder. Idinadagdag ang commit sa numero ng bersyon at isinasama sa program; iniuulat ito ng app at ng mga backup nito.

Ano ang laman ng archive

Ang program, lisensya, mga abiso ng third-party, mga gabay, source manifest at pagkakakilanlan ng package. Hiwalay na source archive ang may source ng project at mga Go dependency; itabi ito sa tabi ng mga binary.

Pinapatunayan ng SHA256SUMS na tugma ang mga file. Hindi ito pirma. Ang parehong commit, bersyon at input ay nagbibigay ng parehong mga archive, kaya puwede kang mag-rebuild para suriin.

Mga tala sa runtime
Paksa Detalye
Config path Default na /config. Palaging ipasa ang -config, sa lokal na disk.
Target sa memory 384 MiB kapag walang GOMEMLIMIT. Itakda ito sa mga 80 porsyento ng memory na ibinibigay mo. Target ito, hindi mahigpit na limitasyon.
Mode na mababa ang memory Sa Linux, kusang nag-o-on sa mga 2.5 GiB o mas mababa; bumababa ang target sa isang-kapat ng memory, sa pagitan ng 192 at 384 MiB. Ang HOLYARRS_LOW_MEMORY=1 o 0 ang nagpapasya.
Node Hindi kailangan para patakbuhin.
Mga hardlink Panatilihin ang downloads at mga folder ng Aklatan sa iisang filesystem.

Libre ang HolyArrs. Kung nakatipid ito ng oras mo, bigyan ito ng star sa GitHub, i-sponsor ito o ibili ako ng kape.