Démarrage rapide

L’objectif de ce guide est de réaliser une installation pas à pas d’une plateforme Reemo complète. A la fin de ce guide, vous aurez une plateforme complète prête à l’emploi à des fins de tests/audit/certification. Les environnements déployés dans ce guide sont: INFRA, PROVISION, RELAYWS.

1. Prérequis

  • 1 machine « de travail » pour piloter Ansible.

  • 3 serveurs/VMs cibles : infra, provision, relayws.

  • Accès SSH depuis la machine de travail vers chaque cible.

  • Accès aux rôles Ansible: reemo-infra, reemo-provision, reemo-relayws.

  • Une clé de licence d’instance Reemo.

  • Un compte d’accès au registre Docker Reemo.

2. Ressources minimales

  • INFRA : 4 vCPU, 8 Go RAM, 100 Go disque.

  • PROVISION : 8 vCPU, 16 Go RAM, 100 Go disque.

  • RELAYWS : 8 vCPU, 8 Go RAM, 50 Go disque.

  • OS Linux supporté (Ubuntu/Debian/RedHat).

3. Préparation machine de travail (Ansible)

La machine de travail est responsable du pilotage Ansible des serveurs cibles.

Installer Python, Docker, Ansible, dépendances:

Red Hat / RockyLinux

yum install ansible-core
yum install -y python3-pip
pip3 install docker
ansible-galaxy collection install community.docker
ansible-galaxy collection install community.crypto

Warning

Sous RockyLinux 9, il est nécessaire d’utiliser community.docker >= 3.10.2. Si besoin, forcez la mise à jour :

ansible-galaxy collection install community.docker --upgrade

Ubuntu

apt install ansible
apt install python3-docker
ansible-galaxy collection install community.docker
ansible-galaxy collection install community.crypto

4. Préparation serveurs cibles

Préparer 3 serveurs/VMs et configurer un accès SSH depuis votre machine de travail.

Serveur

CPU

RAM

Disque

INFRA

4

8

100G

PROVISION

8

16

100G

RELAYWS

8

8

50G

5. Playbooks et Arborescence de travail

Cette étape s’effectue sur la machine de travail.

Créer un dossier de déploiement simple.

mkdir -p /opt/reemo-deploy/{playbooks,ssl}
cd /opt/reemo-deploy

Créer 3 playbooks infra.yml, provision.yml, relayws.yml et un inventaire inventory.yml.

touch /opt/reemo-deploy/playbooks/{infra.yml,provision.yml,relayws.yml}
touch /opt/reemo-deploy/inventory.yml 

infra.yml

- name: Installation Reemo Infra Server
  hosts: infra_manager,portal_manager,api_manager
  gather_facts: yes

  roles:
      - role: reemo-infra
        become: yes

provision.yml

- name: Deploy Provision Reemo environment in swarm cluster
  hosts: provision,provision_manager
  gather_facts: yes

  roles:
      - role: reemo-provision
        become: yes

relayws.yml

- name: Installation Reemo Relay WebSocket
  hosts: relayws_manager
  gather_facts: yes

  roles:
      - role: reemo-relayws
        become: yes

7. Inventaire Ansible

Editer le fichier inventory.yml.

Remplacer toutes les IP et domaines par vos valeurs.

Générer les certificats pour le portail d’accès et l’environnement RELAYWS et fournir les certs TLS référencés.

all:
    vars:
        INITCA_ENABLE: "true"
        LOCAL_PATH: "/opt/ssl/reemo"
        # License key for this instance
        API_LICENSE: "{{ LICENSING_KEY }}"
        # Registry Configuration
        REGISTRY_URL: "registrypriv.reemo.io"
        REGISTRY_ENV: "reemoinfra"
        REGISTRY_USERNAME: "{{ REGISTRY_USERNAME }}"
        REGISTRY_PASSWORD: "{{ REGISTRY_PASSWORD }}"
        # Portal dedicated to users
        PORTAL_URL: "portal.domain.tld"
        # Disallow built-in login, users will only log using SSO
        PORTAL_DISALLOW_BUILT_IN: "true"
        # Portal dedicated to admins
        PORTALADMIN_URL: "portal-admin.domain.tld"
        # Restrict IP addresses that get access to the admin portal
        PORTALADMIN_URL_RESTRICT_IP: "255.255.255.255,255.255.255.255"
    # INFRA environment
    infra_manager:
        hosts:
            # Name this host freely
            MY_REEMO_INFRA_HOST:
                # Configure this with your instance IP address
                ansible_host: "255.255.255.255"
                ansible_user: "root"
                TRAEFIK_SSL_CERTS:
                    - cert_file: "/opt/reemo-deploy/ssl/portal-cert.pem"
                      key_file: "/opt/reemo-deploy/ssl/portal-key.pem"
    # PROVISION environment
    provision:
        children:
            provision_manager:
                hosts:
                    provision_manager1: 
                        # Configure this with your provision IP address
                        ansible_host: "255.255.255.255"
    # RELAYWS environment
    relayws_manager:
        vars:
            TRAEFIK_SSL_CERTS:
                - cert_file: "/opt/reemo-deploy/ssl/relayws-cert.pem"
                  key_file: "/opt/reemo-deploy/ssl/relayws-key.pem"
        hosts:
            relayws_manager1:
                # Configure this with your RELAYWS IP address
                ansible_host: "255.255.255.255"

8. Déploiement

Depuis le dossier reemo-deploy.

# 1) INFRA avec init DB + install docker
ansible-playbook -i inventory.yml playbooks/infra.yml --extra-vars "INIT_DB=true INSTALL_DOCKER=true"

# 2) PROVISION avec install docker
ansible-playbook -i inventory.yml playbooks/provision.yml --extra-vars "INSTALL_DOCKER=true"

# 3) RELAYWS avec install docker
ansible-playbook -i inventory.yml playbooks/relayws.yml --extra-vars "INSTALL_DOCKER=true"

Si des modifications sont apportées à l’inventaire, la mise à jour du deploiement s’effectue ensuite via:

# 1) Mise à jour INFRA
ansible-playbook -i inventory.yml playbooks/infra.yml

# 2) Mise à jour PROVISION
ansible-playbook -i inventory.yml playbooks/provision.yml

# 3) Mise à jour RELAYWS
ansible-playbook -i inventory.yml playbooks/relayws.yml

9. Vérifications

  • Conteneurs actifs sur chaque hôte :

docker ps
  • Accès portails :

    • Utilisateurs : https://portal.domain.tld

    • Admin : https://portal-admin.domain.tld

  • Restriction IP admin appliquée : vérifier PORTALADMIN_URL_RESTRICT_IP.

  • Certificats Traefik valides et montés.

10. Accès au portail d’administration

Naviguer vers https://portal-admin.domain.tld/register/admin pour enregistrer le premier compte d’administration d’instance.

Avec ce compte, vous pouvez désormais vous connecter pour administrer la plateforme Reemo.


admin_panel_settings
Prise en main
Découvrir l’interface de gestion de votre instance
../instance/get-started.html
tune
Configurer son instance
Apprendre à configurer et personnaliser son instance
../instance/configuration.html
domain
Gérer ses organisations
Configurer sa première organisation
../instance/organizations.html