Docker
Version Docker
Warning
C’est une version de test/validation/POC, elle ne doit pas être utilisée en production
Elle se compose d’un seul composant Docker à récupérer auprès de notre service support + d’un fichier licence. Il est donc nécessaire de récupérer les éléments suivants:
Une archive Tarball
Un fichier license.json
Copier l’ensemble dans un répertoire /opt/reemo sur un serveur ayant Docker installé et tapez les commandes suivantes (bien modifier la variable STUN_IP et PROAPI_URL_SIGNAL avec l’ip de votre serveur):
docker load < /opt/reemo/reemoonpremone.tar.gz
Méthode ligne de commande
docker run -d -v /opt/reemo:/opt/reemo/license \
-v ssl:/opt/reemo/ssl -v mysql:/var/lib/mysql \
-p 443:443 -p 8443:8443 -p 58200:58200 -p 58200:58200/udp \
--name reemoonpremone \
--restart unless-stopped \
-e STUN_IP=< ip du serveur docker> \
-e PROAPI_URL_SIGNAL=< ip du serveur docker>:8443 \
--log-driver=syslog --log-opt syslog-address=unixgram:///dev/log reemoonpremone
Méthode avec Docker compose
name: reemoonprem
services:
reemoonpremone:
volumes:
- /opt/reemo:/opt/reemo/license
- ssl:/opt/reemo/ssl
- mysql:/var/lib/mysql
ports:
- 443:443
- 8443:8443
- 58200:58200
- 58200:58200/udp
container_name: reemoonpremone
restart: unless-stopped
environment:
- STUN_IP=<IP du serveur Docker>
- PROAPI_URL_SIGNAL=< IP du serveur Docker >:8443
logging:
driver: syslog
options:
syslog-address: unixgram:///dev/log
image: reemoonpremone
volumes:
ssl:
name: ssl
mysql:
name: mysql
Taper la commande suivante:
docker compose up -d
Matrice de Flux
Les utilisateurs et les postes devant être accessibles à distance doivent pouvoir joindre le docker sur les ports 443,8443 et 58200 en TCP et sur le port 58200 en UDP
Règles de Filtrage
DESCRIPTION |
TRANSPORT |
SOURCE IP |
SOURCE PORT |
DESTINATION IP |
DESTINATION PORT |
URL |
SERVICES |
Can use a Proxy |
---|---|---|---|---|---|---|---|---|
Portal |
TCP |
LAN |
1024:65535 |
IP du serveur Docker |
443 |
HTTPS |
||
Signal |
TCP |
LAN |
1024:65535 |
IP du serveur Docker |
8443 |
HTTPS |
||
TURN |
TCP/UDP |
LAN |
1024:65535 |
IP du serveur Docker |
58200 |
ICE |
||
REEMO |
UDP |
LAN (Machine avec Reemo installé) |
58200:58400 |
LAN (Utilisateur Chrome) |
1024:65535** |
REEMO |
Règles de NAT
DESCRIPTION |
INTERFACE |
TRANSPORT |
SOURCE IP |
SOURCE PORT |
DESTINATION IP |
DESTINATION PORT |
NAT ADDRESS |
NAT PORT |
STATIC PORT |
---|---|---|---|---|---|---|---|---|---|
TURN*** |
UDP |
LAN |
1024:65535 |
IP du serveur Docker |
58200 |
Vers le serveur Docker |
|||
REEMO*** |
coté Utilisateur Chrome |
UDP |
LAN (Machine avec Reemo installé) |
58200:58400 |
LAN (Utilisateur Chrome) |
1024:65535** |
WAN |
Warning
** Vous pouvez restreindre la plage de port en utilisant l’option WebRtcUdpPortRange dans un Policy Chrome
*** Dépendant de votre firewall, vous devez activer une option de NAT qui permet de ne pas modifier les ports source
Déclaration Compte administrateur
Se rendre sur l’url https://< ip >/register/admin pour déclarer le premier compte d’administration. Cette url sera ensuite inaccessible

Retourner sur l’url principale https://< ip > pour s’authentifier avec le nouveau compte d’administration
Déclaration d’une organization
Cliquer sur Admin Area pour accéder à la console d’administration de l’instance que vous venez d’installer
Note
Pour une description détaillée de l’interface : L’interface
Cliquer ensuite sur Organizations, Puis sur NEW ORGANIZATION

Renseigner les informations et activer les features en fonction des licences que vous avez prises

Cliquer sur CREATE pour valider la création
Note
Vous pouvez créer autant d’organization que vous souhaitez, les licences sont prises au niveau Instance
Envoi de mail
Comme c’est une version Offline simple, aucun module d’envoi de mail n’est installé. Il est nécessaire de désactiver l’envoi de mail dans l’interface
Cliquer dans le menu Global Settings puis dans la section User creation restrictions, cocher la case Allow organization admin to edit managed users password

Cliquer sur Save
Dans la section Email notifications, décocher toutes les options

Cliquer sur Save
Création d’un utilisateur
Se rendre dans la console d’organisation de l’organisation nouvellement créée

Cliquer sur New User puis séléctionner New Managed User

Note
Username: Nom d’utilisateur
Email: Email de l’utilisateur
Full Name: Nom complet de l’utilisateur
Password: Mot de passe de l’utilisateur (l’utilisateur recevra un email avec les instructions pour configurer son mot de passe)
- Role: Rôle de l’utilisateur
Organization Member: Membre de l’organisation
Organization Administrator: Administrateur de l’organisation
Organization Owner: Propriétaire de l’organisation
Start Date: Date d’activation de l’accès à l’organisation
Expiration Date: Date à laquelle l’utilisateur n’aura plus accès à l’organisation
Top Level Group: Groupe le plus haut de l’utilisateur (l’utilisateur aura uniquement accès aux ordinateurs du groupe sélectionné et de ses sous-groupes)
Si vous avez activé lors de l’installation le module Email alors vous pouvez envoyer un mail pour que l’utilisateur puisse renseigné lui-même son mot de passe. Dans le cas inverse vous devez renseigner le mot de passe de l’utilisateur Cliquer sur CREATE pour créer le compte de l’utilisateur, il apparaitra alors dans la liste des utilisateurs

Déclaration des serveurs TURN
Dans les settings d’une organisation, cliquer sur le menu TURN Relay Servers

Cocher la case Enable custom TURN servers et renseigner les informations suivantes en modifiant l’adresse IP par l’adresse IP de votre serveur

Mise à jour
Dans le cadre d’une mise à jour de cette version, voici la démarche à suivre. Effectuer un stop et un rm du conteneur
docker stop reemoonpremone
docker rm reemoonpremone
Télécharger la nouvelle version, la copier en local du serveur Infra et “loader” la nouvelle image et relancer le docker
docker load < /opt/reemo/reemoonpremone.tar.gz
docker run -d -v /opt/reemo:/opt/reemo/license \
-v ssl:/opt/reemo/ssl -v mysql:/var/lib/mysql \
-p 443:443 -p 8443:8443 -p 58200:58200 -p 58200:58200/udp \
--name reemoonpremone \
--restart unless-stopped \
-e STUN_IP=< ip du serveur docker> \
-e PROAPI_URL_SIGNAL=< ip du serveur docker>:8443 \
--log-driver=syslog --log-opt syslog-address=unixgram:///dev/log reemoonpremone
Se connecter dans le conteneur
docker exec -it reemoonpremone bash
Taper la commande suivante pour mettre à jour la base de données
cd /opt/reemo/initdb && npm run update:production
Votre conteneur est à jour
Reemo Desktop
Pour une utilisation de Reemo en mode Desktop Offline, il faut tout d’abord récupérer la clé studio
Récupérer la clé Studio
Cliquer sur la clé au niveau de l’organisation

Noter la clé qui s’affiche

Puis installer l’agent Reemo
Installation ReemoAgent
Récupérer l’archive de l’Agent Reemo qu’il faudra installer sur tous les desktop où vous souhaitez utiliser Reemo + l’archive permettant l’installation des Redistribuables C++
https://download.reemo.io/reemod.win.latest.zip
https://download.reemo.io/reemo-silent-installer.zip
https://downloads.reemo.io/drivers/drivers.zip
https://downloads.reemo.io/drivers/reemon.zip
Copier cette archive en local des postes de travail et éxecuter le script suivant avec les droits administrateurs en ayant renseigné les variables:
reemo_zipfile : le chemin du fichier reemod.win.latest.zip sur la machine
reemo_silent: le chemin de l’archive silent installer
reemo_reecam: chemin de l’archive pour le driver de la caméra virtuel et du micro virtuel
reemo_reemon: chemin de l’archive pour le driver du monitor virtuel
reemo_studiokey : la clé studio récupérée à l’étape précédente
reemo_signalserver : l’adresse IP du docker
reemo_turnserver : l’adresse IP du docker
@echo off
set reemo_zipfile=c:\users\test\Downloads\reemod.win.latest.zip
set reemo_silent=c:\users\test\Downloads\reemo-silent-installer.zip
set reemo_reecam=c:\users\test\Downloads\drivers.zip
set reemo_reemon=c:\users\test\Downloads\reemon.zip
set reemo_studiokey=studio_c1447ccb7948
set reemo_signalserver=192.168.1.12:8443
set reemo_turnserver=192.168.1.12
md "c:\program files\reemo"
md "c:\program files\reemo\services"
md "c:\program files\reemo\drivers"
md "c:\program files\reemo\drivers\reecam"
md "c:\program files\reemo\drivers\reemon"
powershell Expand-Archive -LiteralPath '%reemo_reemon%' -DestinationPath 'c:\Program Files\reemo\drivers'
powershell Expand-Archive -LiteralPath '%reemo_reecam%' -DestinationPath 'c:\Program Files\reemo\drivers\reecam'
powershell Expand-Archive -LiteralPath '%reemo_silent%' -DestinationPath 'c:\Program Files\reemo'
powershell Expand-Archive -LiteralPath '%reemo_zipfile%' -DestinationPath 'c:\Program Files\reemo\services'
"c:\program files\reemo\silent-installer\vcredist_x64.exe" /q /norestart
"c:\program files\reemo\silent-installer\vc_redist.x64.exe" /q /norestart
"c:\Program Files\reemo\drivers\reecam\drivers\reecam\devcon.exe" install "c:\Program Files\reemo\drivers\reecam\drivers\reecam\reecam.inf" REECAM
"c:\Program Files\reemo\drivers\reecam\drivers\reemic\devcon.exe" install "c:\Program Files\reemo\drivers\reecam\drivers\reemic\reemic.inf" Root\reemic
"c:\Program Files\reemo\drivers\reemon\devcon.exe" install "c:\Program Files\reemo\drivers\reemon\reemon.inf" Root\reemon
(
echo [auth]
echo token=%reemo_studiokey%
echo [logger]
echo severity = 5
echo [signal]
echo server = %reemo_signalserver%
echo [turn1]
echo server = %reemo_turnserver%
echo port = 58200
echo user = reemo
echo password = reemo
echo [turn2]
echo server = %reemo_turnserver%
echo port = 58200
echo user = reemo
echo password = reemo
)>"c:\program files\reemo\services\reemo.ini"
powershell New-Service -Name "Reemo" -DisplayName Reemo -BinaryPathName 'C:\program files\reemo\services\reemod.exe -service'
powershell start-Service -Name "Reemo"
Une fois le script terminé, la machine apparaitra dans la console d’administration

Cliquer sur le nom de la machine

Dans la section Users Cliquer sur ASSIGN USERS et selectionner les utilisateurs devant avoir accès
L’utilisateur verra apparaitre dans sa console la machine

Cliquer dessus pour se connecter sur la machine
Reemo Containers
Pour utiliser le mode Reemo Containers il faut installer le serveur/cluster de Provision qui hébergera les conteneurs: Docker Swarm