Edasi sisu juurde

Portable build

Seadistus

Käita HolyArrsi tavalise programmina Linuxis või Windowsis, ilma Dockerita. Docker jääb peamiseks viisiks seda käitada.

  • Python 3, Git ja Docker ehitusarvutis.
  • Täidetud Go moodulite vahemälu tavalisest projekti ehitusest ning frontendi sõltuvused, mis on paigaldatud failist app/frontend/package-lock.json.
  • Ehitatud veebirakendus on commit’itud. Ehitus kasutab ainult commit’itud lähtekoodi; commit’imata muudatused jäetakse välja.
  1. Ehita checkout’ist arhiivid:

    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

    Kasuta uut väljundkausta väljaspool checkout’i. Näed iga sihtmärgi kohta ühte arhiivi ja faili SHA256SUMS.

  2. Kontrolli arhiivi faili SHA256SUMS vastu.

  3. Paki see uude kausta lahti. Hoia programm ja seaded eraldi kaustades.

  4. Käivita see oma seadete teega:

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

    Windows PowerShellis:

    Terminal window
    .\holyarrs.exe -config 'C:\HolyArrs\config' -addr ':6262'
  5. Ava http://your-server:6262. Näed esimese käivituse viisardit. Tee omaniku konto kohe ära; esimesest külastajast saab omanik.

Käita HolyArrsi oma kontol, kirjutusõigusega ainult seadetele ja sinu meediale.

  • Rootina väljaspool konteinerit, ilma PUID ja PGID, peatub see teatega „started as root outside a container“.
  • Kui PUID ja PGID on määratud, annab see seadete kausta sellele kasutajale ja lülitub sellele.
  • Windowsis kaitse seadete kausta selle konto NTFS-õigusega.

Arhiiv ei paigalda teenust. Seadista automaatne taaskäivitus ja ranged mälupiirid oma teenusehalduris (systemd, NSSM, Task Scheduler). Taaskäivitus rakendusest ja varukoopia taastamine mõlemad väljuvad ja eeldavad, et need käivitatakse uuesti.

  1. Kontrolli uut arhiivi enne, kui rakenduse peatad.
  2. Peata HolyArrs ja kopeeri kogu seadete kaust, peavõti kaasa arvatud. Või tee rakendusesisene varukoopia ja hoia selle võtit eraldi.
  3. Paki uus programm lahti teise kausta. Hoia vana programm ja vana seadete koopia alles.
  4. Käivita uus programm oma seadetega. Peaksid saama sisse logida ja /health peaks näitama running.

Vaata Varukoopiad.

Sümptom Põhjus Lahendus
„started as root outside a container“ Käivitati rootina Käita see oma kasutajana või sea PUID ja PGID.
Rakendus väljub pärast taastamist Taastamine valmistab andmed ette ja väljub koodiga 75 Käivita see uuesti, et see rakenduks. Sea oma teenusehaldur seda taaskäivitama.
HTTPS-päringud ebaõnnestuvad Linuxis Süsteemi CA sertifikaate pole Paigalda need.
Ehitus ütleb, et väljund on olemas Olemasolevatest väljundkaustadest keeldutakse Vali uus kaust.
Ehituse valikud
Valik Mida see teeb Vaikimisi
--targets Komaga eraldatud ehitatav alamhulk linux-amd64,linux-arm64,linux-armv7,windows-amd64
--low-resource Iga ehitaja konteiner saab 1 CPU, 2 GiB ja 256 protsessi; Go ehitab ühe paketi korraga. Pakkimine käib ikka hostis, nendest piiridest väljaspool. väljas

Ehitus käib projekti kinnitatud Go ehitaja image’is ilma võrguta, seega ei laadi see midagi alla. Moodulite vahemälu haagitakse kirjutuskaitstuna. Kui mõni sihtmärk ebaõnnestub, ei jää väljundkausta alles. Commit lisatakse versiooninumbrile ja ehitatakse programmi sisse; rakendus ja selle varukoopiad annavad seda teada.

Mis arhiivis on

Programm, litsents, kolmandate osapoolte teated, juhendid, lähtekoodi manifest ja paketi identiteet. Eraldi lähtekoodi arhiiv sisaldab projekti lähtekoodi ja Go sõltuvusi; hoia see binaaride kõrval.

SHA256SUMS tõendab, et failid sobivad. See ei ole allkiri. Sama commit, versioon ja sisend annavad samad arhiivid, nii et kontrollimiseks saad uuesti ehitada.

Käitusaja märkused
Teema Üksikasjad
Seadete tee Vaikimisi /config. Anna alati -config, kohalikul kettal.
Mälu siht 384 MiB ilma GOMEMLIMIT. Sea see umbes 80 protsendile mälust, mille annad. Siht, mitte range piir.
Vähese mälu režiim Linuxis lülitub ise sisse umbes 2.5 GiB või vähema korral; siht langeb veerandini mälust, vahemikus 192 kuni 384 MiB. Otsustab HOLYARRS_LOW_MEMORY=1 või 0.
Node Käitamiseks pole vaja.
Hardlinkid (kõva link) Hoia allalaadimised ja meediakogu kaustad ühes failisüsteemis.

HolyArrs on tasuta. Kui see säästis sinu aega, anna talle GitHubis täht, toeta teda või osta mulle kohvi.