Portable build
Installatie
Draai HolyArrs als gewoon programma op Linux of Windows, zonder Docker. Docker blijft de belangrijkste manier om het te draaien.
Voor je begint
Link naar Voor je begint- 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.
Bouwen en draaien
Link naar Bouwen en draaien-
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/modGebruik een nieuwe uitvoermap buiten de checkout. Je ziet nu één archief per doel en een bestand
SHA256SUMS. -
Controleer het archief aan de hand van
SHA256SUMS. -
Pak het uit in een nieuwe map. Houd het programma en de configuratie in aparte mappen.
-
Start het met je eigen configuratiepad:
Terminal window ./holyarrs -config /srv/holyarrs/config -addr :6262In Windows PowerShell:
Terminal window .\holyarrs.exe -config 'C:\HolyArrs\config' -addr ':6262' -
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.
Keuzes
Link naar KeuzesWelke gebruiker het draait
Link naar Welke gebruiker het draaitDraai HolyArrs onder een eigen account, met schrijftoegang alleen tot de configuratie en je media.
- Als root buiten een container, zonder
PUIDenPGID, stopt het met “started as root outside a container”. - Met
PUIDenPGIDingesteld 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 limietenHet 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- Controleer het nieuwe archief voordat je de app stopt.
- Stop HolyArrs en kopieer de hele configuratiemap, hoofdsleutel inbegrepen. Of maak een backup in de app en bewaar de sleutel apart.
- Pak het nieuwe programma uit in een andere map. Houd het oude programma en de oude kopie van de configuratie.
- Start het nieuwe programma op je configuratie. Je kunt nu aanmelden en
/healthtoont running.
Zie Backups.
Als het niet werkt
Link naar Als het niet werkt| 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. |
Voor gevorderden
Link naar Voor gevorderdenBuildopties
| Optie | Wat het doet | Standaard |
|---|---|---|
--targets |
Kommagescheiden deelverzameling om te bouwen | linux-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’sHolyArrs is gratis. Heeft het je tijd bespaard, geef het een ster op GitHub, sponsor het of trakteer me op een kop koffie.