Portable build
Setup
Patakbuhin ang HolyArrs bilang karaniwang program sa Linux o Windows, nang walang Docker. Nananatiling Docker ang pangunahing paraan ng pagpapatakbo.
Bago ka magsimula
Link papunta sa Bago ka magsimula- 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.
Mag-build at patakbuhin
Link papunta sa Mag-build at patakbuhin-
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/modGumamit ng bagong output folder sa labas ng checkout. Dapat makita mo ang isang archive bawat target at isang
SHA256SUMSfile. -
Suriin ang archive laban sa
SHA256SUMS. -
I-extract ito sa bagong folder. Panatilihing hiwalay na mga folder ang program at ang config.
-
Simulan ito gamit ang sarili mong config path:
Terminal window ./holyarrs -config /srv/holyarrs/config -addr :6262Sa Windows PowerShell:
Terminal window .\holyarrs.exe -config 'C:\HolyArrs\config' -addr ':6262' -
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.
Mga pagpipilian
Link papunta sa Mga pagpipilianAling user ang nagpapatakbo nito
Link papunta sa Aling user ang nagpapatakbo nitoPatakbuhin 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
PUIDatPGID, hihinto ito at magpapakita ng “started as root outside a container”. - Kapag nakatakda ang
PUIDatPGID, 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.
Mga restart at limitasyon
Link papunta sa Mga restart at limitasyonWalang 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.
Mag-update at bumalik
Link papunta sa Mag-update at bumalik- Suriin ang bagong archive bago ihinto ang app.
- 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.
- I-extract ang bagong program sa ibang folder. Itago ang lumang program at ang lumang kopya ng config.
- Simulan ang bagong program sa config mo. Dapat makapag-sign in ka, at dapat magpakita ng running ang
/health.
Tingnan ang Mga backup.
Kung hindi gumana
Link papunta sa Kung hindi gumana| 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. |
Para sa mga eksperto
Link papunta sa Para sa mga ekspertoMga opsyon ng build
| Opsyon | Ano ang ginagawa | Default |
|---|---|---|
--targets |
Subset na pinaghihiwalay ng kuwit na ibi-build | linux-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. |
Kaugnay
Link papunta sa KaugnayLibre ang HolyArrs. Kung nakatipid ito ng oras mo, bigyan ito ng star sa GitHub, i-sponsor ito o ibili ako ng kape.