Preskoči na sadržaj

Portable build

Postavljanje

Pokreni HolyArrs kao običan program na Linuxu ili Windowsima, bez Dockera. Docker ostaje glavni način pokretanja.

  • Python 3, Git i Docker na računalu na kojem gradiš.
  • Napunjena Go module cache iz običnog builda projekta i frontend ovisnosti instalirane iz app/frontend/package-lock.json.
  • Izgrađena web aplikacija mora biti commitana. Build koristi samo commitani izvorni kod; necommitane izmjene ostaju izvan.
  1. Iz checkouta izgradi arhive:

    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

    Koristi novu izlaznu mapu izvan checkouta. Vidjet ćeš jednu arhivu po meti i datoteku SHA256SUMS.

  2. Provjeri arhivu prema SHA256SUMS.

  3. Raspakiraj je u novu mapu. Drži program i konfiguraciju u odvojenim mapama.

  4. Pokreni je sa svojom putanjom konfiguracije:

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

    Na Windows PowerShellu:

    Terminal window
    .\holyarrs.exe -config 'C:\HolyArrs\config' -addr ':6262'
  5. Otvori http://your-server:6262. Vidjet ćeš čarobnjak pri prvom pokretanju. Odmah napravi račun vlasnika; prvi posjetitelj postaje vlasnik.

Pokreni HolyArrs pod vlastitim računom, s pravom pisanja samo u konfiguraciju i svoje medije.

  • Kao root izvan containera, bez PUID i PGID, zaustavlja se s porukom „started as root outside a container“.
  • Kad su PUID i PGID postavljeni, predaje mapu s konfiguracijom tom korisniku i prelazi na njega.
  • Na Windowsima zaštiti mapu s konfiguracijom NTFS dozvolom za taj račun.

Ponovna pokretanja i ograničenja

Poveznica na Ponovna pokretanja i ograničenja

Arhiva ne instalira nikakvu uslugu. Automatsko ponovno pokretanje i stroga ograničenja memorije postavi u svom upravitelju usluga (systemd, NSSM, Task Scheduler). Restart iz aplikacije i vraćanje backupa oba izlaze iz programa i očekuju da ih se ponovno pokrene.

  1. Provjeri novu arhivu prije nego zaustaviš aplikaciju.
  2. Zaustavi HolyArrs i kopiraj cijelu mapu s konfiguracijom, zajedno s glavnim ključem. Ili napravi backup u aplikaciji i čuvaj njegov ključ odvojeno.
  3. Raspakiraj novi program u drugu mapu. Zadrži stari program i staru kopiju konfiguracije.
  4. Pokreni novi program na svojoj konfiguraciji. Moći ćeš se prijaviti, a /health pokazuje running.

Vidi Backupi.

Simptom Uzrok Rješenje
„started as root outside a container“ Pokrenut kao root Pokreni ga kao vlastitog korisnika ili postavi PUID i PGID.
Aplikacija izlazi nakon vraćanja Vraćanje postavi podatke i izađe s kodom 75 Pokreni je ponovno da se primijeni. Postavi svoj upravitelj usluga da je ponovno pokreće.
HTTPS pozivi ne uspijevaju na Linuxu Nema sistemskih CA certifikata Instaliraj ih.
Build kaže da izlaz postoji Postojeće izlazne mape se odbijaju Odaberi novu mapu.
Opcije builda
Opcija Što radi Zadano
--targets Podskup za izgradnju, odvojen zarezima linux-amd64,linux-arm64,linux-armv7,windows-amd64
--low-resource Svaki builder container dobiva 1 CPU, 2 GiB i 256 procesa; Go gradi jedan paket odjednom. Pakiranje i dalje ide na hostu, izvan tih ograničenja. isključeno

Build se izvršava u pinnanom Go builder imageu projekta bez mreže, pa ništa ne preuzima. Module cache je mountana samo za čitanje. Ako bilo koja meta ne uspije, nijedna izlazna mapa ne ostaje. Commit se dodaje u broj verzije i ugrađuje u program; aplikacija i njeni backupi ga prijavljuju.

Što arhiva sadrži

Program, licenciju, obavijesti trećih strana, vodiče, manifest izvornog koda i identitet paketa. Zasebna arhiva izvornog koda sadrži izvorni kod projekta i Go ovisnosti; drži je uz binarne datoteke.

SHA256SUMS dokazuje da se datoteke podudaraju. To nije potpis. Isti commit, ista verzija i isti ulazi daju iste arhive, pa možeš ponovno izgraditi i provjeriti.

Napomene o radu
Tema Detalj
Putanja konfiguracije Zadano /config. Uvijek proslijedi -config, na lokalnom disku.
Cilj memorije 384 MiB bez GOMEMLIMIT. Postavi ga na oko 80 posto memorije koju daš. Cilj, ne tvrdo ograničenje.
Način rada s malo memorije Na Linuxu se uključuje sam na oko 2.5 GiB ili manje; cilj pada na četvrtinu memorije, između 192 i 384 MiB. HOLYARRS_LOW_MEMORY=1 ili 0 odlučuje.
Node Nije potreban za pokretanje.
Hardlinkovi Drži mape preuzimanja i biblioteke na jednom datotečnom sustavu.

HolyArrs je besplatan. Ako ti je uštedio vrijeme, daj mu zvjezdicu na GitHubu, podrži ga ili počasti me kavom.