Aller au contenu

Connecter un serveur

La connexion d’un serveur se fait en deux étapes : l’enregistrer dans le portail, puis y exécuter l’agent avec le jeton à usage unique fourni par le portail. Vous devez être Administrateur de l’organisation.

Avant de commencer, vérifiez la configuration requise du serveur.

  1. Allez dans Serveurs et cliquez sur Ajouter un serveur.
  2. Donnez-lui un Nom facile à reconnaître, comme field-office-accra. Les installations sont listées par nom de serveur, il vaut donc la peine de choisir un nom parlant.
  3. Choisissez Docker comme environnement d’exécution et sélectionnez le Système d’exploitation du serveur.
  4. Cliquez sur Créer.
Ajouter un serveur
Ajouter un serveur

Le portail affiche alors un Jeton d’enrôlement et une Commande d’installation pour le système d’exploitation choisi.

Installer l'agent sur votre serveur
Installer l'agent sur votre serveur

L’agent est un programme unique appelé scolah-agent (scolah-agent.exe sous Windows). Téléchargez-le pour le système d’exploitation et le processeur de votre serveur, vérifiez-le avec SHA256SUMS, et placez-le dans votre PATH. Sur un serveur Linux Intel/AMD :

Terminal window
curl -fLO https://docs.scolah.com/downloads/agent/latest/scolah-agent-linux-amd64
sudo install -m 0755 scolah-agent-linux-amd64 /usr/local/bin/scolah-agent

Sur le serveur, collez la commande d’installation fournie par le portail. Elle ressemble à ceci :

Terminal window
scolah-agent --platform-url https://… --enroll-token spa_… --state-dir ~/.scolah-agent-field-office-accra --acme-email you@your-organisation.org

Sous Windows (PowerShell) :

Terminal window
scolah-agent.exe --platform-url https://… --enroll-token spa_… --state-dir $env:USERPROFILE\.scolah-agent-field-office-accra --acme-email you@your-organisation.org

En quelques secondes, l’état du serveur dans le portail passe de En attente à Connecté, et la version de l’agent ainsi que les ressources du serveur apparaissent.

  • Le dossier --state-dir contient l’identité du serveur une fois enrôlé. Conservez-le, et ne le partagez pas entre serveurs : chaque serveur a besoin de son propre dossier. Si deux agents en partagent un, le second s’exécute silencieusement en tant que premier serveur.
  • --acme-email est votre adresse e-mail, renseignée par le portail. Let’s Encrypt l’utilise pour ses avis sur les certificats lorsque vous donnez à une installation un domaine avec HTTPS automatique.
  • Après la première exécution, le jeton est consommé. Aux démarrages suivants, l’agent s’authentifie avec l’identité stockée dans son dossier d’état.

La commande ci-dessus exécute l’agent dans votre terminal : il s’arrête donc quand vous fermez la session. Sur un serveur Linux, exécutez-le comme service système pour qu’il démarre au boot et redémarre s’il s’arrête.

  1. Créez /etc/scolah-agent/env. Utilisez l’adresse de la plateforme, le jeton et l’e-mail de votre commande d’installation :

    Terminal window
    PLATFORM_URL=https://…
    ENROLL_TOKEN=spa_…
    STATE_DIR=/var/lib/scolah-agent
    ACME_EMAIL=it@your-organisation.org
  2. Créez /etc/systemd/system/scolah-agent.service :

    [Unit]
    Description=Scolah Compass Platform Agent
    After=network-online.target docker.service
    Wants=network-online.target
    [Service]
    ExecStart=/usr/local/bin/scolah-agent
    EnvironmentFile=/etc/scolah-agent/env
    Restart=always
    RestartSec=5
    # Exit code 3 means the platform blocked this server; don't restart-loop on it.
    RestartPreventExitStatus=3
    [Install]
    WantedBy=multi-user.target
  3. Démarrez-le :

    Terminal window
    sudo mkdir -p /var/lib/scolah-agent && sudo chmod 700 /etc/scolah-agent /var/lib/scolah-agent
    sudo systemctl daemon-reload
    sudo systemctl enable --now scolah-agent
    journalctl -u scolah-agent -f
  • Il n’établit que des connexions sortantes vers la plateforme. La plateforme ne peut pas ouvrir de connexion vers votre réseau.
  • Il ne déploie que des bundles d’application signés. Avant d’exécuter quoi que ce soit, il vérifie la signature de Scolah et chaque fichier du bundle, et refuse tout ce qui ne correspond pas.
  • Les secrets, comme les mots de passe de base de données, sont chiffrés pour ce seul serveur et ne sont déchiffrés que sur celui-ci.
  • Si Scolah ou votre administrateur bloque le serveur, l’agent s’arrête, et les applications déjà présentes sur le serveur continuent de fonctionner.

Suite : créer votre première installation.