Eiti prie turinio

Portable versija

Sąranka

Paleisk HolyArrs kaip paprastą programą Linux ar Windows, be Docker. Docker lieka pagrindinis būdas jį paleisti.

  • Python 3, Git ir Docker kompiliavimo kompiuteryje.
  • Užpildytas Go modulių cache iš įprasto projekto kompiliavimo ir frontend priklausomybės, įdiegtos pagal app/frontend/package-lock.json.
  • Sukompiliuota žiniatinklio programa turi būti commit. Kompiliavimas naudoja tik commit šaltinį; nepatvirtinti pakeitimai neįtraukiami.

Kompiliavimas ir paleidimas

Nuoroda į Kompiliavimas ir paleidimas
  1. Iš checkout sukompiliuok archyvus:

    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

    Naudok naują išvesties aplanką už checkout ribų. Turėtum pamatyti po vieną archyvą kiekvienam tikslui ir failą SHA256SUMS.

  2. Patikrink archyvą pagal SHA256SUMS.

  3. Išarchyvuok jį į naują aplanką. Programą ir konfigūraciją laikyk atskiruose aplankuose.

  4. Paleisk jį su savo konfigūracijos keliu:

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

    Windows PowerShell:

    Terminal window
    .\holyarrs.exe -config 'C:\HolyArrs\config' -addr ':6262'
  5. Atidaryk http://your-server:6262. Turėtum pamatyti pirmo paleidimo vedlį. Savininko paskyrą susikurk iš karto; pirmas lankytojas tampa savininku.

Kuris naudotojas jį paleidžia

Nuoroda į Kuris naudotojas jį paleidžia

Paleisk HolyArrs su sava paskyra, kuri turi rašymo teisę tik į konfigūraciją ir tavo mediją.

  • Kaip root ne konteineryje, be PUID ir PGID, jis sustoja su „started as root outside a container“.
  • Su nustatytais PUID ir PGID jis perduoda konfigūracijos aplanką tam naudotojui ir persijungia į jį.
  • Windows konfigūracijos aplanką apsaugok NTFS teise tai paskyrai.

Paleidimas iš naujo ir limitai

Nuoroda į Paleidimas iš naujo ir limitai

Archyvas neįdiegia jokios tarnybos. Automatinį paleidimą iš naujo ir griežtus atminties limitus nustatyk savo tarnybų tvarkyklėje (systemd, NSSM, Task Scheduler). Paleidimas iš naujo iš programos ir backup atkūrimas abu išeina ir tikisi, kad bus paleisti vėl.

Atnaujinimas ir grįžimas

Nuoroda į Atnaujinimas ir grįžimas
  1. Patikrink naują archyvą prieš sustabdant programą.
  2. Sustabdyk HolyArrs ir nukopijuok visą konfigūracijos aplanką, kartu su pagrindiniu raktu. Arba padaryk backup programoje ir laikyk jo raktą atskirai.
  3. Išarchyvuok naują programą į kitą aplanką. Palik seną programą ir senos konfigūracijos kopiją.
  4. Paleisk naują programą su savo konfigūracija. Turėtum galėti prisijungti, o /health turėtų rodyti running.

Žr. Backup.

Požymis Priežastis Sprendimas
„started as root outside a container“ Paleista kaip root Paleisk su atskiru naudotoju arba nustatyk PUID ir PGID.
Programa išeina po atkūrimo Atkūrimas paruošia duomenis ir išeina su kodu 75 Paleisk ją dar kartą, kad jie būtų pritaikyti. Nustatyk tarnybų tvarkyklę, kad ji paleistų iš naujo.
HTTPS užklausos Linux sistemoje nepavyksta Nėra sistemos CA sertifikatų Įdiek juos.
Kompiliavimas praneša, kad išvesties aplankas jau yra Esami išvesties aplankai atmetami Pasirink naują aplanką.
Kompiliavimo parinktys
Parinktis Ką daro Numatytoji
--targets Kableliais atskirtas kompiliuojamų tikslų pogrupis linux-amd64,linux-arm64,linux-armv7,windows-amd64
--low-resource Kiekvienas kompiliavimo konteineris gauna 1 CPU, 2 GiB ir 256 procesus; Go kompiliuoja po vieną paketą. Pakavimas vis tiek vyksta kompiuteryje, už šių limitų ribų. išjungta

Kompiliavimas vyksta projekto užfiksuotame Go builder image be tinklo, todėl nieko neatsisiunčia. Modulių cache prijungtas tik skaitymui. Jei nepavyksta bent vienas tikslas, jokio išvesties aplanko nelieka. Commit pridedamas prie versijos numerio ir įkompiliuojamas į programą; programa ir jos backup jį nurodo.

Kas yra archyve

Programa, licencija, trečiųjų šalių pranešimai, gidai, šaltinio manifestas ir paketo tapatybė. Atskirame šaltinio archyve yra projekto šaltinio kodas ir Go priklausomybės; laikyk jį šalia vykdomųjų failų.

SHA256SUMS įrodo, kad failai sutampa. Tai nėra parašas. Tas pats commit, versija ir įvestys duoda tuos pačius archyvus, todėl gali sukompiliuoti iš naujo ir patikrinti.

Veikimo pastabos
Tema Detalė
Konfigūracijos kelias Numatytasis /config. Visada perduok -config, vietiniame diske.
Atminties tikslas 384 MiB be GOMEMLIMIT. Nustatyk jį apie 80 procentų atminties, kurią skiri. Tikslas, o ne griežtas limitas.
Mažos atminties režimas Linux įsijungia pats, kai atminties yra apie 2.5 GiB ar mažiau; tikslas nukrenta iki ketvirtadalio atminties, tarp 192 ir 384 MiB. Sprendžia HOLYARRS_LOW_MEMORY=1 arba 0.
Node Veikimui nereikia.
Hardlink Laikyk atsisiuntimus ir bibliotekos aplankus vienoje failų sistemoje.

HolyArrs yra nemokama. Jei sutaupė tau laiko, pažymėk jį žvaigždute GitHub, paremk jį arba nupirk man kavos.