Installation LockSelf v4 (On-Premises)

Installation On-Premises • LockSelf V4

Présentation


Ce guide décrit l'installation de LockSelf V4 en environnement On-Premises à l'aide du script officiel v4-installer.sh. Ce script prend en charge l'ensemble du cycle de vie du déploiement : installation initiale, configuration, mise à jour des composants et administration courante.

Il propose deux modes d'exécution :

  • Mode interactif : installation guidée pas à pas via des menus et des questions. Recommandé pour une première installation ou une administration manuelle.
  • Mode non interactif (--config) : installation entièrement automatisée à partir d'un fichier de configuration. Recommandé pour les déploiements scriptés ou répétables.

Le script prend en charge Docker et Podman, les détecte automatiquement, et gère les spécificités des environnements RHEL / Rocky Linux (SELinux).

Qui peut réaliser cette installation ?

Cette procédure s'adresse à un administrateur système disposant des droits nécessaires sur le serveur cible. L'utilisateur doit pouvoir créer le dossier d'installation et exécuter les commandes du moteur de conteneurs. En production, utilisez root ou un utilisateur avec accès sudo.

 

Prérequis


Binaires obligatoires

  • bash ≥ 5.2
  • openssl

Moteur de conteneurs

Installez l'un ou l'autre selon votre environnement (les deux ne sont pas nécessaires) :

  • Docker : docker et docker compose
  • Podman : podman et podman-compose

Par défaut, le script détecte Docker, puis Podman si Docker est absent. Pour forcer le moteur :

ORCHESTRATOR_BIN=podman bash v4-installer.sh

Images LockSelf V4

Deux archives sont nécessaires. Placez-les dans le même répertoire que le script avant de le lancer :

  • lockself-apiv4-X.X.X.X.tar.gz — API REST + workers
  • lockself-webappv4-X.X.X.X.tar.gz — proxy web + frontend

Le script détecte et charge les archives automatiquement ; aucune commande manuelle n'est nécessaire. Si une archive incorrecte est sélectionnée, il le détecte et redemande le bon fichier.

Vous n'avez pas reçu les archives ? Rapprochez-vous de votre CSM ou contactez support@lockself.com.

Informations à préparer

  • Chemin d'installation (ex. /root/lockself_v4, créé automatiquement).
  • FQDN de l'application (ex. lockself.example.com).
  • Informations SMTP : hôte, port, chiffrement (null / tls / ssl), identifiants si requis, adresse expéditeur.
  • Certificats SSL pour le FQDN : chaîne de certification complète (.crt) et clé privée (.key).
  • En cas de base de données externe : hôte/IP et port MariaDB, nom de la base, identifiants de l'utilisateur applicatif et de l'utilisateur de migration, masque d'hôte MySQL autorisé (ex. %, 10.0.1.%).

En base externe, le script génère automatiquement le SQL de création des utilisateurs et d'attribution des droits ; il n'est donc pas nécessaire de les créer en amont.

 

Installation — Mode interactif


1. Lancer le script

bash v4-installer.sh

Le script affiche le logo LockSelf, vérifie les prérequis et détecte le moteur de conteneurs. Si une installation complète existe déjà, il lance automatiquement le Doctor (diagnostic) puis ouvre le menu de gestion, sans relancer l'installation.

2. Chemin d'installation

Appuyez sur Entrée pour utiliser le chemin par défaut (/root/lockself_v4), ou saisissez un chemin personnalisé.

3. Menu de démarrage

Dans le menu principal, choisissez [0] Install LockSelf V4 pour lancer l'installation.

4. Base de données

Le script demande si vous disposez de votre propre base MariaDB :

  • no — MariaDB incluse (recommandé) : rien à faire. Le script déploie un conteneur MariaDB 10.11, génère les mots de passe aléatoirement et optimise la configuration selon la RAM disponible.
  • yes — Base de données externe : renseignez le masque d'hôte MySQL, l'hôte/IP et le port, le nom de la base, puis les identifiants des utilisateurs applicatif et de migration. Le script affiche les commandes CREATE USER et GRANT à exécuter dans votre base et attend votre confirmation avant de continuer.

5. Clés JWT

Les clés JWT (privée et publique) sont générées automatiquement avec les droits corrects. Aucune action requise.

6. Serveur SMTP

Renseignez les informations SMTP (hôte, port, chiffrement, identifiants, adresse expéditeur). Saisissez null pour les champs non applicables. Un envoi de test est proposé directement depuis le script pour vérifier la configuration.

7. Nom de domaine (FQDN)

Saisissez le FQDN de l'application (ex. lockself.example.com). Il sera utilisé dans les liens générés par l'application et dans la configuration du proxy web.

8. Chargement des images

Les archives d'images API et Webapp sont détectées automatiquement. Appuyez sur Entrée pour confirmer, ou saisissez un chemin alternatif.

9. Certificats SSL

En fin d'installation, le script indique les emplacements attendus et propose deux options :

  • yes — Fournir les certificats maintenant : indiquez les chemins source ; le script copie les fichiers, applique les permissions et les contextes SELinux, puis démarre la Webapp. L'application est alors accessible sur https://<votre-FQDN>.
  • no — Placement manuel : le script affiche les instructions et se termine. Placez vos deux fichiers dans webapp/certs/ :
    • ssl-certificate.crt — chaîne de certification complète PEM (FQDN + intermédiaires + CA racine)
    • ssl-certificate.key — clé privée correspondante

Puis appliquez les permissions :

chmod 644 ".../ssl-certificate.crt"
chmod 640 ".../ssl-certificate.key"

# RHEL / Rocky uniquement :
chcon -t svirt_sandbox_file_t ".../ssl-certificate.crt"
chcon -t svirt_sandbox_file_t ".../ssl-certificate.key"

10. Vérifier et lancer l'application (si placement manuel)

Une fois les certificats placés, relancez le script :

bash v4-installer.sh

Le script détecte l'installation, lance le Doctor et ouvre le menu de gestion. Démarrez alors les composants dans l'ordre :

  • Option 4 — Start / Restart API stack (uniquement si base de données externe)
  • Option 6 — Start / Restart Webapp

L'application est ensuite accessible depuis votre FQDN.

 

Installation — Mode non interactif


1. Générer le fichier de configuration

bash v4-installer.sh --generate-config > lockself.env

Le fichier généré contient toutes les variables disponibles, accompagnées de leurs descriptions.

2. Éditer le fichier de configuration

Les deux variables obligatoires sont LOCKSELF_DOMAIN et LOCKSELF_DB_MODE. Si l'une est manquante ou invalide, le script liste les erreurs et s'arrête immédiatement, sans modifier le système.

Exemple — base de données incluse (recommandé) :

LOCKSELF_DOMAIN="lockself.example.com"
LOCKSELF_DB_MODE="bundled"
LOCKSELF_SMTP_SENDER="no-reply@example.com"

Les mots de passe MariaDB sont générés aléatoirement et écrits dans le fichier d'environnement.

Exemple — base de données externe :

LOCKSELF_DOMAIN="lockself.example.com"
LOCKSELF_DB_MODE="external"
LOCKSELF_DB_HOST="192.168.1.10"
LOCKSELF_DB_PORT="3306"
LOCKSELF_DB_NAME="lockself"
LOCKSELF_DB_APP_USER="lockself_www"
LOCKSELF_DB_APP_PASS="mot_de_passe_app"
LOCKSELF_DB_MIGRATION_USER="lockself_migration"
LOCKSELF_DB_MIGRATION_PASS="mot_de_passe_migration"
LOCKSELF_DB_INSTANCE_IP="%"
LOCKSELF_SMTP_SENDER="no-reply@example.com"

Vous pouvez également renseigner LOCKSELF_WEBAPP_SSL_CERT_PATH et LOCKSELF_WEBAPP_SSL_KEY_PATH pour que l'installeur copie les certificats et démarre la Webapp automatiquement en fin d'installation.

3. Lancer l'installation

bash v4-installer.sh --config lockself.env

Pour forcer le moteur de conteneurs :

ORCHESTRATOR_BIN=podman bash v4-installer.sh --config lockself.env

4. Suivre les étapes post-installation

En fin d'installation, le script affiche un résumé des actions manuelles restantes selon votre configuration :

  • Certificats fournis dans le fichier de config : les certificats sont copiés, les permissions configurées et la Webapp démarrée automatiquement. Aucune relance n'est nécessaire.
  • Sans certificats fournis : placez vos certificats dans webapp/certs/ (voir permissions ci-dessus), puis relancez le script et choisissez l'option 6 (Start / Restart Webapp).
  • Base de données externe : initialisez d'abord la base avec le fichier SQL généré, puis relancez le script et lancez les options 4 (API stack) puis 6 (Webapp).
mysql -h <host> -u root -p < .../external-db-setup.sql

5. Relancer et finaliser

bash v4-installer.sh --config lockself.env

Le script détecte l'installation existante et ouvre directement le menu de gestion. Lancez les composants dans l'ordre : Option 4 (si base externe) puis Option 6. Utilisez toujours le même fichier --config pour les relances.

 

Vérifier l'installation (Doctor)


Le Doctor est la fonction de diagnostic intégrée. Il s'exécute automatiquement à chaque lancement du script lorsqu'une installation est détectée, et peut aussi être lancé manuellement via l'option 11 du menu ou le flag --doctor.

Il contrôle l'état des conteneurs (API, Webapp, workers, et MariaDB si incluse), la présence des certificats SSL et des clés JWT, ainsi que la connectivité vers la base de données externe le cas échéant. Chaque composant est affiché avec un statut : UP, DOWN, DEGRADED, NOT_FOUND ou EXTERNAL.

 

Première connexion — création du compte administrateur


Une fois LockSelf accessible depuis votre FQDN, la première étape consiste à créer le compte administrateur de votre instance. Rendez-vous à l'adresse suivante :

https://FQDN/#/license/key

Cette page d'accueil vous guide dans la création du premier compte administrateur. Une fois le compte créé, connectez-vous avec ces identifiants pour accéder au tableau de bord d'administration.

 

Prochaine étape — activation de la licence


Une fois connecté avec votre compte administrateur, vous pouvez procéder à l'activation de votre licence LockSelf depuis le Dashboard. La procédure détaillée est décrite dans l'article Activer une clé de licence.

 

Dépannage


Le Doctor signale une erreur sur les certificats SSL

Vérifiez que le certificat et la clé privée correspondent bien (les deux empreintes doivent être identiques) :

openssl x509 -noout -modulus -in ssl-certificate.crt | md5sum
openssl rsa  -noout -modulus -in ssl-certificate.key | md5sum

Vérifiez également les permissions : chmod 644 sur le .crt et chmod 640 sur le .key.

Le conteneur API ne démarre pas (base de données externe)

Assurez-vous d'avoir exécuté le fichier SQL généré avant de démarrer l'API :

mysql -h <host> -u root -p < /root/lockself_v4/external-db-setup.sql

Puis relancez l'API depuis le menu (option 4).

Transmettre les logs au support

Depuis le menu de gestion, choisissez l'option 12 (Troubleshooting Report). Le script génère une archive .tar.gz dans <chemin_installation>/troubleshooting_reports/, contenant les logs de tous les conteneurs, prête à transmettre à support@lockself.com.

Mise à jour