Aller au contenu

Version portable

Configuration

Faites tourner HolyArrs comme un simple programme sous Linux ou Windows, sans Docker. Docker reste la façon principale de le faire tourner.

  • Python 3, Git et Docker sur la machine de construction.
  • Un cache de modules Go rempli par une construction normale du projet, et les dépendances du frontend installées à partir de app/frontend/package-lock.json.
  • L’application web construite et commitée. La construction n’utilise que les sources commitées ; les modifications non commitées sont laissées de côté.

Construire et lancer

Lien vers Construire et lancer
  1. Depuis votre copie du dépôt, construisez les archives :

    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

    Utilisez un nouveau dossier de sortie en dehors de votre copie du dépôt. Vous devriez voir une archive par cible et un fichier SHA256SUMS.

  2. Vérifiez l’archive avec SHA256SUMS.

  3. Extrayez-la dans un nouveau dossier. Gardez le programme et la configuration dans des dossiers séparés.

  4. Démarrez-le avec votre propre chemin de configuration :

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

    Sous Windows PowerShell :

    Terminal window
    .\holyarrs.exe -config 'C:\HolyArrs\config' -addr ':6262'
  5. Ouvrez http://your-server:6262. Vous devriez voir l’assistant de premier lancement. Créez le compte propriétaire tout de suite ; le premier visiteur devient le propriétaire.

Quel utilisateur le fait tourner

Lien vers Quel utilisateur le fait tourner

Faites tourner HolyArrs sous son propre compte, avec un accès en écriture seulement à la configuration et à vos médias.

  • En tant que root hors d’un conteneur, sans PUID ni PGID, il s’arrête avec « started as root outside a container ».
  • Avec PUID et PGID définis, il attribue le dossier de configuration à cet utilisateur et bascule sur lui.
  • Sous Windows, protégez le dossier de configuration avec une permission NTFS pour ce compte.

Redémarrages et limites

Lien vers Redémarrages et limites

L’archive n’installe aucun service. Configurez le redémarrage automatique et les limites strictes de mémoire dans votre propre gestionnaire de services (systemd, NSSM, Planificateur de tâches). Le redémarrage depuis l’application et la restauration d’une sauvegarde quittent tous les deux le programme et comptent sur un nouveau démarrage.

Mettre à jour et revenir à l’ancienne version

Lien vers Mettre à jour et revenir à l’ancienne version
  1. Vérifiez la nouvelle archive avant d’arrêter l’application.
  2. Arrêtez HolyArrs et copiez tout le dossier de configuration, clé maîtresse comprise. Ou faites une sauvegarde dans l’application et gardez sa clé à part.
  3. Extrayez le nouveau programme dans un autre dossier. Gardez l’ancien programme et l’ancienne copie de la configuration.
  4. Démarrez le nouveau programme sur votre configuration. Vous devriez pouvoir vous connecter, et /health devrait afficher running.

Voir Sauvegardes.

Si ça ne fonctionne pas

Lien vers Si ça ne fonctionne pas
Symptôme Cause Solution
« started as root outside a container » Démarré en tant que root Faites-le tourner sous son propre utilisateur, ou définissez PUID et PGID.
L’application quitte après une restauration Une restauration prépare les données et quitte avec le code 75 Redémarrez-la pour l’appliquer. Réglez votre gestionnaire de services pour qu’il la redémarre.
Les appels HTTPS échouent sous Linux Pas de certificats d’autorité (CA) du système Installez-les.
La construction dit que la sortie existe Les dossiers de sortie existants sont refusés Choisissez un nouveau dossier.
Options de construction
Option Ce que ça fait Par défaut
--targets Sous-ensemble à construire, séparé par des virgules linux-amd64,linux-arm64,linux-armv7,windows-amd64
--low-resource Chaque conteneur de construction reçoit 1 CPU, 2 Gio et 256 processus ; Go construit un paquet à la fois. L’empaquetage tourne toujours sur l’hôte, hors de ces limites. désactivé

La construction tourne dans l’image de construction Go épinglée du projet, réseau coupé, donc elle ne télécharge rien. Le cache de modules est monté en lecture seule. Si une cible échoue, aucun dossier de sortie n’est laissé. Le commit est ajouté au numéro de version et intégré au programme ; l’application et ses sauvegardes l’indiquent.

Ce que contient une archive

Le programme, la licence, les mentions des tiers, les guides, un manifeste des sources et l’identité du paquet. Une archive de sources séparée contient les sources du projet et les dépendances Go ; gardez-la à côté des binaires.

SHA256SUMS prouve que les fichiers correspondent. Ce n’est pas une signature. Le même commit, la même version et les mêmes entrées donnent les mêmes archives, donc vous pouvez reconstruire pour vérifier.

Notes d'exécution
Sujet Détail
Chemin de configuration /config par défaut. Passez toujours -config, sur un disque local.
Cible de mémoire 384 Mio sans GOMEMLIMIT. Réglez-le à environ 80 % de la mémoire que vous donnez. Une cible, pas une limite stricte.
Mode mémoire réduite Sous Linux, activé tout seul à environ 2,5 Gio ou moins ; la cible descend à un quart de la mémoire, entre 192 et 384 Mio. HOLYARRS_LOW_MEMORY=1 ou 0 décide.
Node Pas nécessaire pour l’exécution.
Hardlinks Gardez les téléchargements et les dossiers de bibliothèque sur un seul système de fichiers.

HolyArrs est gratuit. S'il vous a fait gagner du temps, mettez-lui une étoile sur GitHub, sponsorisez-le ou offrez-moi un café.