Installation¶
Once the prerequisites are in place (Ansible, Docker Swarm, and cluster initialization), you can customize the INFRA deployment using Ansible variables. These options allow you to configure user portals, the database, signal servers, SSL certificates, etc.
Tip
Installation parameters must be defined before running the final installation command.
Important
Create a minimal playbook¶
For the rest of the installation, create a playbook named reemo-infra.yml as referenced in this documentation.
- name: Installation Reemo Infra Server
hosts: infra_manager
gather_facts: yes
roles:
- reemo-infra
Minimal inventory file¶
For the rest of the installation, create an inventory file named inventory.yml as referenced in this documentation.
This minimal file is described in the Prerequisites page of the INFRA environment.
It contains the server infrastructure description and the Reemo license key in base64 format.
Single server example:
all:
vars:
API_LICENSE: "ewogICAg ... Uw5NXhGVDF0NFU2TkxOdjQvZU53PT0iCiAgICC9Cn0="
infra_manager:
hosts:
infra_manager1:
ansible_host: "10.0.0.1"
Portal and SSL certificates¶
The reemo-infra Ansible role lets you configure the exposure of the Portal (URL, IP filtering, physical separation, SSO per portal) as well as the management of SSL certificates used by Traefik and for internal mTLS communications. These options are detailed in the following pages:
User and Administrator Portal: portal URLs, IP filtering, port management, physical separation, portal dedicated to an SSO, signal server per portal, filtering user roles.
SSL Certificates: Traefik certificates (default, local, already present on the server) and internal PKI for mTLS communications (default PKI, automatically generated CA, manual configuration).
Signaling Services¶
Signaling services are used for registering Reemo Agents on the platform, and for exchanging information required to establish a connection between the user and their resources. These services are unique, and in a Docker Swarm environment you will see, depending on your architecture, several Signaling services but always with a single replica.
Example:
ID NAME MODE REPLICAS IMAGE
...
g8hmzpicyq2o reemo_signal1 replicated 1/1 registry.reemo.io/reemoinfrasignal
s105if31h6l0 reemo_signal2 replicated 1/1 registry.reemo.io/reemoinfrasignal
Tip
Signaling services will always be named reemo_signal followed by a number.
Ports¶
By default Signaling services listen on port 8443 through the Traefik service which holds the SSL certificate. This port is accessible by Reemo Agents. Users will reach it via the Portal service on port 443.
SSL¶
Certificates are managed the same way as for the portals: one certificate for Traefik, and a second for communication between Traefik/Portal and Signaling services.
Multi-signal¶
In a standard installation, Reemo agents register with the signaling services that are shared by the different user access portals. For a complete separation of portals and agents, it is possible to configure a multi-signal installation — see User and Administrator Portal (Signal Server per Portal).
CRON¶
Several CRON services are used in a Reemo platform (ghost container cleanup, log purging, LDAP synchronization). These options, along with alternative LDAP synchronization and Docker image preloading, are detailed in CRON, LDAP and Provisioning.
Database¶
The INFRA environment requires a database which can be internal or external to Docker Swarm.
The configuration of the database engine (internal or external: MySQL, PostgreSQL, SSL support, NDBCLUSTER) is detailed in Database.
Database initialization¶
The variables you can set during database initialization (password policy, RELAYWS servers, provisioning zones) are detailed in Initialization Variables.
Database initialization occurs during the final installation using INIT_DB=true.
Note
Database initialization must be performed only once.
Final installation¶
Once your inventory is complete and all the necessary options added, run the final installation of the INFRA environment and initialize the database with the reemo-infra Ansible role.
ansible-playbook -i inventory.yml playbooks/reemo-infra.yml --extra-vars "INIT_DB=true"
Warning
This command installs the environment and initializes the database. Run it only once.