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

../../_images/register_admin.png

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

../../_images/new_orga.png

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

../../_images/new_orga_desc.png

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

../../_images/onprem_globalsettings_user.png

Cliquer sur Save

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

../../_images/onprem_globalsettings_email.png

Cliquer sur Save

Création d’un utilisateur

Se rendre dans la console d’organisation de l’organisation nouvellement créée

../../_images/onprem_newuser.png

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

../../_images/onprem_newuser_create.png

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

../../_images/onprem_newuser_list.png

Déclaration des serveurs TURN

Dans les settings d’une organisation, cliquer sur le menu TURN Relay Servers

../../_images/onprem_turn.png

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

../../_images/onprem_turn_config.png

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

../../_images/onprem_orga_key.png

Noter la clé qui s’affiche

../../_images/onprem_orga_keystudio.png

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

../../_images/onprem_newcomputer.png

Cliquer sur le nom de la machine

../../_images/onprem_computer.png

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

../../_images/onprem_user.png

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