Sari la conținut

Versiunea portabilă

Configurare

Rulează HolyArrs ca un program obișnuit pe Linux sau Windows, fără Docker. Docker rămâne modul principal de a-l rula.

  • Python 3, Git și Docker pe aparatul pe care construiești.
  • Un cache de module Go umplut dintr-o construire normală a proiectului și dependențele de frontend instalate din app/frontend/package-lock.json.
  • Aplicația web construită și comisă (committed). Construirea folosește doar sursa comisă; modificările necomise sunt lăsate deoparte.

Construiește și rulează

Link către Construiește și rulează
  1. Din checkout, construiește arhivele:

    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

    Folosește un dosar de ieșire nou, în afara checkout-ului. Ar trebui să vezi câte o arhivă pentru fiecare țintă și un fișier SHA256SUMS.

  2. Verifică arhiva cu SHA256SUMS.

  3. Extrage-o într-un dosar nou. Ține programul și configurarea în dosare separate.

  4. Pornește-l cu propria ta cale de configurare:

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

    În Windows PowerShell:

    Terminal window
    .\holyarrs.exe -config 'C:\HolyArrs\config' -addr ':6262'
  5. Deschide http://your-server:6262. Ar trebui să vezi expertul de la prima pornire. Fă contul de proprietar pe loc; primul vizitator devine proprietar.

Ce utilizator îl rulează

Link către Ce utilizator îl rulează

Rulează HolyArrs sub propriul cont, cu drept de scriere doar în dosarul de configurare și în media ta.

  • Ca root în afara unui container, fără PUID și PGID, se oprește cu „started as root outside a container“.
  • Cu PUID și PGID setate, dă dosarul de configurare acelui utilizator și trece la el.
  • Pe Windows, protejează dosarul de configurare cu o permisiune NTFS pentru acel cont.

Arhiva nu instalează niciun serviciu. Configurează repornirea automată și limitele stricte de memorie în propriul tău manager de servicii (systemd, NSSM, Task Scheduler). Repornirea din aplicație și restaurarea unei copii de rezervă ies amândouă din program și se așteaptă să fie pornit din nou.

Actualizează și revino la versiunea veche

Link către Actualizează și revino la versiunea veche
  1. Verifică arhiva nouă înainte să oprești aplicația.
  2. Oprește HolyArrs și copiază tot dosarul de configurare, cu tot cu cheia principală. Sau fă o copie de rezervă din aplicație și păstrează-i cheia separat.
  3. Extrage programul nou într-un alt dosar. Păstrează programul vechi și copia veche a configurării.
  4. Pornește programul nou pe configurarea ta. Ar trebui să te poți conecta, iar /health ar trebui să arate running.

Vezi Copii de rezervă.

Simptom Cauză Soluție
„started as root outside a container“ A pornit ca root Rulează-l ca utilizator propriu sau setează PUID și PGID.
Aplicația iese după o restaurare O restaurare pregătește datele și iese cu codul 75 Pornește-o din nou ca să se aplice. Setează managerul tău de servicii să o repornească.
Apelurile HTTPS eșuează pe Linux Lipsesc certificatele CA ale sistemului Instalează-le.
Construirea spune că ieșirea există Dosarele de ieșire existente sunt refuzate Alege un dosar nou.
Opțiuni de construire
Opțiune Ce face Implicit
--targets Subset separat prin virgulă de construit linux-amd64,linux-arm64,linux-armv7,windows-amd64
--low-resource Fiecare container de construire primește 1 CPU, 2 GiB și 256 de procese; Go construiește câte un pachet pe rând. Împachetarea tot rulează pe gazdă, în afara acestor limite. oprit

Construirea rulează în imaginea de construire Go fixată a proiectului, cu rețeaua oprită, deci nu descarcă nimic. Cache-ul de module e montat doar pentru citire. Dacă orice țintă eșuează, nu rămâne niciun dosar de ieșire. Commit-ul e adăugat la numărul versiunii și încorporat în program; aplicația și copiile ei de rezervă îl raportează.

Ce conține o arhivă

Programul, licența, notificările terților, ghidurile, un manifest al sursei și identitatea pachetului. O arhivă separată cu sursa conține sursa proiectului și dependențele Go; ține-o lângă binare.

SHA256SUMS dovedește că fișierele se potrivesc. Nu e o semnătură. Același commit, aceeași versiune și aceleași intrări dau aceleași arhive, deci poți reconstrui ca să verifici.

Note de rulare
Subiect Detaliu
Calea de configurare Implicit /config. Dă mereu -config, pe un disc local.
Ținta de memorie 384 MiB fără GOMEMLIMIT. Setează-l la aproximativ 80 la sută din memoria pe care o dai. O țintă, nu o limită strictă.
Mod cu memorie puțină Pe Linux, se pornește singur la aproximativ 2.5 GiB sau mai puțin; ținta scade la un sfert din memorie, între 192 și 384 MiB. HOLYARRS_LOW_MEMORY=1 sau 0 decide.
Node Nu e necesar pentru rulare.
Hardlink-uri Ține descărcările și dosarele Bibliotecii pe un singur sistem de fișiere.

HolyArrs este gratuit. Dacă ți-a economisit timp, dă-i o stea pe GitHub, sponsorizează-l sau cumpără-mi o cafea.