Bienvenue
Jalios Community
Tout ce que vous souhaitez savoir sur l'écosystème Jalios
Cette fiche détaille l'installaltion du composant Horizon sous Linux
Créer les répertoires:
sudo mkdir -p /opt/jalios/bin/horizon/2.0
sudo mkdir -p /opt/jalios/app/horizon
Création de l'utilisateur horizon dédié à l’exécution du runtime node.js
Debian
sudo useradd --user-group --no-create-home --home-dir /opt/jalios/app/horizon horizon
RedHat/CentsOs
sudo useradd --user-group -M --home /opt/jalios/app/horizon horizon
Définition de l'utilisateur horizon comme propriétaire des répertoires de l'application
sudo chown -Rf horizon: horizon /opt/jalios/bin/horizon /opt/jalios/app/horizon
Extraire
sudo -u horizon tar -xf horizonserver-2.0.tar -C /opt/jalios/bin/horizon/2.0 --strip-components=1
Vérification:
$ ls -la /opt/jalios/bin/horizon/2.0/
total 380
drwxr-xr-x 3 horizon horizon 4096 Sep 27 11:18 .
drwxr-xr-x 3 horizon horizon 4096 Sep 27 11:09 ..
-rw-r--r-- 1 horizon horizon 385 Sep 26 13:22 Dockerfile
-rw-r--r-- 1 horizon horizon 1216 Sep 26 13:22 package.json
-rw-r--r-- 1 horizon horizon 356560 Sep 26 13:22 package-lock.json
drwxr-xr-x 9 horizon horizon 4096 Sep 26 13:22 src
Créer un lien symbolique
sudo -u horizon ln -s /opt/jalios/bin/horizon/2.0 /opt/jalios/bin/horizon/latest
Voir le site de NodeSource: https://github.com/nodesource/distributions/blob/master/README.md
Ubuntu/Debian
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt install -y nodejs
CentOS/RHEL
curl -sL https://rpm.nodesource.com/setup_16.x | sudo bash -
sudo yum install -y nodejs
Se placer dans le répertoire des binaires puis lancer :
Debian
cd /opt/jalios/bin/horizon/2.0
sudo apt install build-essential
sudo -u horizon npm ci --only=production
CentOS
cd /opt/jalios/bin/horizon/2.0
sudo yum install -y make gcc*
sudo -u horizon npm ci --only=production
sudo -u horizon mv src/* .
sudo -u horizon rmdir src
Créer le fichier de configuration
sudo -u horizon nano /opt/jalios/app/horizon/jplatform.env
Avec le contenu suivant:
NODE_ENV=production
DB_CONNECTION_URI=postgres://horizondbuser:horizondbpwd@vm-hrzdb-prod:5432/horizondb
JPLATFORM_SERVER_URL=https://intranet.fr
AUTH_SERVER_URL=http://vm-jpfm-prod:8080
AUTH_SERVER_JWT=<le_token_jwt>
Liste des variables de paramétrage du serveur Horizon
Il est également maintenant possible de démarrer le serveur en HTTPS en fournissant le chemin du certificat et la clef en variable d'environnement:
Activation des métriques Prometheus
Nous allons créer un service systemd afin de lancer le serveur Horizon. En fonction de la version de systemd disponible, la configuration diffère légèrement.
Pour connaitre la versionde systemd (exemple avec Debian 10)
systemd --version
systemd 241 (241)
Ensuite, créer un répertoire pour les logs
sudo -u horizon mkdir -p /opt/jalios/app/horizon/logs
Ajout de la configuration suivante dans le fichier /etc/systemd/system/horizon.service
sudo nano /etc/systemd/system/horizon.service
Avec le contenu suivant pour des versions de systemd supérieures ou égales à 241:
[Unit]
Description=Node.js pour l'application Horizon
After=network.target
[Service]
EnvironmentFile=/opt/jalios/app/horizon/jplatform.env
WorkingDirectory=/opt/jalios/bin/horizon/latest
ExecStart=node server.js
StandardOutput=file:/opt/jalios/app/horizon/logs/stdout.log
StandardError=file:/opt/jalios/app/horizon/logs/stderr.log
Type=simple
Restart=on-failure
User=horizon
Group=horizon
[Install]
WantedBy=multi-user.target
et le contenu suivant pour des versions antérieures à 241:
[Unit]
Description=Node.js pour l'application Horizon
After=network.target
[Service]
EnvironmentFile=/opt/jalios/app/horizon/jplatform.env
WorkingDirectory=/opt/jalios/bin/horizon/latest
ExecStart=/bin/sh -c 'exec /usr/bin/node server.js >>/opt/jalios/app/horizon/logs/stdout.log 2>>/opt/jalios/app/horizon/logs/stderr.log'
Type=simple
Restart=on-failure
User=horizon
Group=horizon
[Install]
WantedBy=multi-user.target
Nous devons informer systemd que nous avons ajouté un nouveau fichier de configuration
sudo systemctl daemon-reload
Activation du service au démarrage du système
sudo systemctl enable horizon.service
Lancement du service
sudo systemctl start horizon.service
Vérification du statut du service
sudo journalctl -f -u horizon.service
sudo systemctl status horizon.service
Logs applicatives
sudo -u horizon tail -f /opt/jalios/app/horizon/logs/stdout.log
sudo -u horizon tail -f /opt/jalios/app/horizon/logs/stderr.log