Ga naar inhoud

Portable build

Installatie

Draai HolyArrs als gewoon programma op Linux of Windows, zonder Docker. Docker blijft de belangrijkste manier om het te draaien.

  • Python 3, Git en Docker op de computer waarop je bouwt.
  • Een gevulde Go-modulecache van een normale projectbuild, en frontend-afhankelijkheden geïnstalleerd uit app/frontend/package-lock.json.
  • De gebouwde web-app moet gecommit zijn. De build gebruikt alleen gecommitte broncode; niet-gecommitte wijzigingen blijven erbuiten.
  1. Bouw de archieven vanuit de checkout:

    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

    Gebruik een nieuwe uitvoermap buiten de checkout. Je ziet nu één archief per doel en een bestand SHA256SUMS.

  2. Controleer het archief aan de hand van SHA256SUMS.

  3. Pak het uit in een nieuwe map. Houd het programma en de configuratie in aparte mappen.

  4. Start het met je eigen configuratiepad:

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

    In Windows PowerShell:

    Terminal window
    .\holyarrs.exe -config 'C:\HolyArrs\config' -addr ':6262'
  5. Open http://your-server:6262. Je ziet nu de wizard voor de eerste start. Maak meteen het eigenaarsaccount aan; de eerste bezoeker wordt de eigenaar.

Welke gebruiker het draait

Link naar Welke gebruiker het draait

Draai HolyArrs onder een eigen account, met schrijftoegang alleen tot de configuratie en je media.

  • Als root buiten een container, zonder PUID en PGID, stopt het met “started as root outside a container”.
  • Met PUID en PGID ingesteld geeft het de configuratiemap aan die gebruiker en schakelt het over naar die gebruiker.
  • Beveilig op Windows de configuratiemap met een NTFS-recht voor dat account.

Herstarts en limieten

Link naar Herstarts en limieten

Het archief installeert geen service. Stel automatisch herstarten en harde geheugenlimieten in met je eigen servicebeheer (systemd, NSSM, Taakplanner). Herstarten vanuit de app en het terugzetten van een backup sluiten het programma allebei af en rekenen erop dat het opnieuw wordt gestart.

Updaten en teruggaan

Link naar Updaten en teruggaan
  1. Controleer het nieuwe archief voordat je de app stopt.
  2. Stop HolyArrs en kopieer de hele configuratiemap, hoofdsleutel inbegrepen. Of maak een backup in de app en bewaar de sleutel apart.
  3. Pak het nieuwe programma uit in een andere map. Houd het oude programma en de oude kopie van de configuratie.
  4. Start het nieuwe programma op je configuratie. Je kunt nu aanmelden en /health toont running.

Zie Backups.

Symptoom Oorzaak Oplossing
“started as root outside a container” Gestart als root Draai het onder een eigen gebruiker, of stel PUID en PGID in.
De app stopt na een terugzetting Een terugzetting zet de gegevens klaar en stopt met code 75 Start de app opnieuw om het toe te passen. Stel je servicebeheer in om hem te herstarten.
HTTPS-aanroepen mislukken op Linux Geen CA-certificaten van het systeem Installeer ze.
De build meldt dat de uitvoermap al bestaat Bestaande uitvoermappen worden geweigerd Kies een nieuwe map.
Buildopties
Optie Wat het doet Standaard
--targets Kommagescheiden deelverzameling om te bouwen linux-amd64,linux-arm64,linux-armv7,windows-amd64
--low-resource Elke buildcontainer krijgt 1 CPU, 2 GiB en 256 processen; Go bouwt één pakket tegelijk. Het inpakken draait nog op de host, buiten die limieten. uit

De build draait in de vastgezette Go-builder-image van het project met netwerk uit, dus er wordt niets gedownload. De modulecache wordt alleen-lezen gemount. Mislukt een doel, dan blijft er geen uitvoermap over. De commit wordt aan het versienummer toegevoegd en in het programma ingebouwd; de app en de backups melden hem.

Wat een archief bevat

Het programma, de licentie, kennisgevingen van derden, handleidingen, een bronmanifest en de pakketidentiteit. Een apart bronarchief bevat de broncode van het project en de Go-afhankelijkheden; bewaar het naast de binaire bestanden.

SHA256SUMS bewijst dat de bestanden kloppen. Het is geen handtekening. Dezelfde commit, versie en invoer geven dezelfde archieven, dus je kunt opnieuw bouwen om te controleren.

Opmerkingen over runtime
Onderwerp Details
Configuratiepad Standaard /config. Geef altijd -config mee, op een lokale schijf.
Geheugendoel 384 MiB zonder GOMEMLIMIT. Zet het op ongeveer 80 procent van het geheugen dat je geeft. Een doel, geen harde limiet.
Modus voor weinig geheugen Op Linux gaat die vanzelf aan bij ongeveer 2,5 GiB of minder; het doel zakt naar een kwart van het geheugen, tussen 192 en 384 MiB. HOLYARRS_LOW_MEMORY=1 of 0 beslist.
Node Niet nodig om te draaien.
Hardlinks Houd downloads en bibliotheekmappen op één bestandssysteem.

Gerelateerde pagina’s

Link naar Gerelateerde pagina’s

HolyArrs is gratis. Heeft het je tijd bespaard, geef het een ster op GitHub, sponsor het of trakteer me op een kop koffie.