Aller au contenu

Installation de la Edge Gateway Docker

Importation de l'image Docker

Avant de pouvoir créer un conteneur Edge Gateway Docker, il est nécessaire d'importer l'image Docker. Pour se faire, lancer un shell depuis lequel les commandes Docker vous sont disponibles ainsi que le fichier cleanroom-gateway-4.6.1-33-v2.tgz. Depuis le shell exécutez la commande suivante en adaptant le chemin vers le fichier TGZ s'il ne se trouve pas dans le répertoire courant :

1
docker load --input cleanroom-gateway-4.6.1-33-v2.tgz

Contrôlez ensuite que l'importation a bien réussi avec la commande suivante :

1
docker inspect --type=image cleanroom-gateway:4.6.1-33-v2

La sortie attendue est la suivante, si ce n'est pas le cas alors l'importation a échouée :

1
2
3
4
5
6
[
    {
        "Id": "sha256:f95237b30c2407a652e5cf9ab84abc0446e04373a30cd83d39c878284c98950b",
        "RepoTags": [
            "cleanroom-gateway:4.6.1-33-v2"
        ],
Sortie complète
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
[
    {
        "Id": "sha256:f95237b30c2407a652e5cf9ab84abc0446e04373a30cd83d39c878284c98950b",
        "RepoTags": [
            "cleanroom-gateway:4.6.1-33-v2"
        ],
        "RepoDigests": [],
        "Parent": "",
        "Comment": "buildkit.dockerfile.v0",
        "Created": "2025-08-27T11:32:41.903547412+02:00",
        "DockerVersion": "",
        "Author": "",
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 1260102017,
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/b5779f969b41eff36cd25115a1884d4c1d0d7839bf22a728ed652c3e5ff7879b/diff:/var/lib/docker/overlay2/b7e2aa5de759fea2d2de49d36d20b77bcbdb6a83416c35aa5a6144624efa5ceb/diff:/var/lib/docker/overlay2/146ef698ff97270b28fbc5aa4baca1336ce6a01130336f61dfc4941de7a66eb9/diff:/var/lib/docker/overlay2/9c15ed99cfce6b7e14406da98cca769845ee0a20a0030b7352c8010bd0ed2584/diff:/var/lib/docker/overlay2/44a3abed0a932259b79c9e5e273749cc06bd8aca7d3adbfd1753a7b053dcae2f/diff:/var/lib/docker/overlay2/e3dfd4c7c4fe568ef731bd91314e69cc5c807ce717d5f4ea94f0d02cc11e70c5/diff:/var/lib/docker/overlay2/5acf2b56871d2537d95b9981c0498e16723a9eca20827f550366b48d8acf508f/diff:/var/lib/docker/overlay2/c732cd17c6501229b3a12c488d7f4c26f8634329211cac54ff1cf0d53055421f/diff:/var/lib/docker/overlay2/fd61cbda2a5e9a578c5a8eea67b63df3d31642588be3b6f2f7ebe6e10964f745/diff",
                "MergedDir": "/var/lib/docker/overlay2/5d797d8e6dcb91e62dc4aa23921ce0e46f6330338da2df57825b288392397b8f/merged",
                "UpperDir": "/var/lib/docker/overlay2/5d797d8e6dcb91e62dc4aa23921ce0e46f6330338da2df57825b288392397b8f/diff",
                "WorkDir": "/var/lib/docker/overlay2/5d797d8e6dcb91e62dc4aa23921ce0e46f6330338da2df57825b288392397b8f/work"
            },
            "Name": "overlay2"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:4668f0f488e5ad4494fadff56ad585c514794b3a293e5e8d006410de9da08155",
                "sha256:782f6c5256575fbef0e518a1a1ce9188c457f1a0e9b88b733ed672f6e1be482d",
                "sha256:e09fd3e10e878ef6c812ccde0fa55b66cf4b9b593cf182c2760fec73649968c2",
                "sha256:e51c952c7bd89e0a3188c683d689eed81444d5513c14251f4b21cb9fd056d27d",
                "sha256:233ff67db52988898e3c1b4c2573b86c1c0c50d23f1f4b2365e3fc51abedbf9f",
                "sha256:0bf4e86419208151dcd5dc222ec43b4b655ecc6de2ab244b8320b069efc6d74e",
                "sha256:4e126ccbbb913bc105eac9d4ff68041fb460054c1756b46fff29654dcbffa480",
                "sha256:1077b827c22c9d088771d97eba65b28e397d3d1c3f2ca0208565fbccb80f80fb",
                "sha256:38554727254b2df680e419fd974eb50a518b48eea93071c5ac7fa9534931a90b",
                "sha256:937d5ffe755bf72c969e1ec525421c576d097ee984d1feca41e1feb859d95640"
            ]
        },
        "Metadata": {
            "LastTagTime": "0001-01-01T00:00:00Z"
        },
        "Config": {
            "Cmd": null,
            "Entrypoint": [
                "/entrypoint.sh"
            ],
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "DEBIAN_FRONTEND=noninteractive",
                "IMAGE_BUILD_DATE=20250827T112940",
                "IMAGE_BUILD_VERSION=4.6.1-33-v2",
                "IMAGE_IPDIPC=IPC-53702"
            ],
            "ExposedPorts": {
                "9080/tcp": {}
            },
            "Healthcheck": {
                "Interval": 300000000000,
                "Retries": 3,
                "Test": [
                    "CMD-SHELL",
                    "/usr/lib/nagios/plugins/IPdivaSensorGateway -a isConnected -g 127.0.0.1:9080"
                ],
                "Timeout": 10000000000
            },
            "Labels": {
                "maintainer": "contact@systancia.com",
                "org.label-schema.build-date": "20250827T112940",
                "org.label-schema.description": "Systancia Cleanroom Gateway",
                "org.label-schema.name": "Systancia Cleanroom 4.6.1-33-v2 Gateway",
                "org.label-schema.url": "http://systancia.com/",
                "org.label-schema.vendor": "Systancia",
                "version": "4.6.1-33-v2"
            },
            "OnBuild": null,
            "User": "root",
            "Volumes": {
                "/etc/ipdiva/": {},
                "/var/log/": {}
            },
            "WorkingDir": ""
        }
    }
]

Configuration du conteneur

Variables d'environnement

Variables pour un déploiement par appairage

Nom Obligatoire Valeur par défaut Commentaire
ENV_MEDIATION OUI Utilisé pour la connexion avec appairage.
Indication du tenant cyberelements.io ou nom DNS ou adresse IP de connexion à l'interface Web d'une plateforme cyberelements Cleanroom.
ENV_TOKEN OUI Utilisé pour la connexion avec appairage.
Indication du jeton d'appairage à utiliser pour la connexion au Mediation Controller.
ENV_NO_CHECK_CERT NON false Utilisé pour la connexion avec appairage.
Désactivation ou non du contrôle du certificat Web du Mediation Controller, utile avec cyberelements Cleanroom lors d'un accès via adresse IP ou lorsque le certificat Web n'est pas un certificat reconnu avec les autorités de certification publiques par défaut.
Valeurs acceptées : true ou false.

Variables pour un déploiement manuel

Nom Obligatoire Valeur par défaut Commentaire
ENV_GW_CERT_NAME OUI Utilisé pour la connexion avec configuration manuelle.
Nom du fichier de certificat pour la connexion au Routeur SSL.
ENV_GW_CERT_PASSWORD OUI Utilisé pour la connexion avec configuration manuelle.
Mot de passe du fichier de certificat pour la connexion au Routeur SSL.
ENV_CARE_CERT_NAME NON Valeur de ENV_GW_CERT_NAME Utilisé pour la connexion avec configuration manuelle.
Nom du fichier de certificat pour le service d'enregistrement.
ENV_CARE_CERT_PASSWORD NON Valeur de ENV_GW_CERT_PASSWORD Utilisé pour la connexion avec configuration manuelle.
Mot de passe du fichier de certificat du service d'enregistrement.
ENV_SSL_ROUTER_IP OUI Utilisé pour la connexion avec configuration manuelle.
Adresse IP ou nom DNS du Routeur SSL vers lequel la Edge Gateway se connectera.
ENV_SSL_ROUTER_PORT NON 443 Utilisé pour la connexion avec configuration manuelle.
Port du Routeur SSL vers lequel la Edge Gateway se connectera.

Variables diverses

Nom Obligatoire Valeur par défaut Commentaire
ENV_DISABLE_RSYSLOG NON false Désactivation du service rsyslog.
Valeurs acceptées : true ou false.
ENV_KERBEROS_CONFIG_ENABLE NON false Activation du paramétrage Kerberos pour permettre l'authentification des applications RDP en mode sans agent en Kerberos.
Valeurs acceptées : true ou false.
Si false les autres variables Kerberos seront ignorées.
ENV_KERBEROS_DEFAULT_REALM OUI
(si configuration Kerberos activée)
Nom du royaume Kerberos.
ENV_KERBEROS_DEFAULT_DOMAIN OUI
(si configuration Kerberos activée)
Nom du domaine Kerberos.
ENV_KERBEROS_CONTROLLER_ADDRESS OUI
(si configuration Kerberos activée)
Adresse de connexion au contrôleur Kerberos.

Volumes

Volume Commentaire
/etc/ipdiva/ Volume de configuration de la Edge Gateway.
Nous recommandons de le monter sur un volume nommé ou sur le système de fichiers de la machine hôte.
/opt/certificates/ Volume contenant le ou les certificats de la Edge Gateway lors d'une configuration sans utilisation de l'appairage.
/var/lib/ipdiva/carerecord/archives/ Volume contenant les archives graphiques.
Nous recommandons de le monter sur un volume nommé ou sur le système de fichiers de la machine hôte.
/var/ipdiva/care/sshrecord/ Volume contenant les archives SSH.
Nous recommandons de le monter sur un volume nommé ou sur le système de fichiers de la machine hôte.
/var/log/ Volume contenant les logs de la Edge Gateway.

Ports

Port Commentaire
2222 (ou tout autre port disponible choisi par l'administrateur) Port d'écoute du service d'accès direct SSH / SFTP.
3389 Port d'écoute du service d'accès direct RDP.
8443 Port d'écoute du service d'enregistrement, à exposer en cas d'utilisation de l'agent d'enregistrement Windows.

Déploiement de la Edge Gateway Docker

Déploiement avec appairage

Prérequis

Avant de déployer la Edge Gateway Docker, il est nécessaire d'obtenir un jeton d'appairage.

Le déploiement décrit ci-après utilisera l'ensemble des volumes disponibles (mise à part /opt/certificates/ qui n'est pas utile dans ce contexte) et exposera l'ensemble des ports.
Les volumes seront montés sur le système de fichiers de la machine hôte avec comme emplacement EDGE_GATEWAY_REP. A l'intérieur de celui-ci se trouvent les sous-répertoires suivants :

  • config
  • graphical_archives
  • ssh_archives
  • log

Vous pouvez personnaliser les variables des commandes qui suivront :

Valeur personnalisée Variable Commentaire
DOCKER_NAME Nom du conteneur Docker.
EDGE_GATEWAY_REP Emplacement sur le système de fichier pour monter les volumes.
ENV_MEDIATION_VALUE Valeur de la variable d'environnement ENV_MEDIATION.
ENV_TOKEN_VALUE Valeur de la variable d'environnement ENV_TOKEN.
ENV_NO_CHECK_CERT_VALUE Valeur de la variable d'environnement ENV_NO_CHECK_CERT.
ENV_KERBEROS_CONFIG_ENABLE_VALUE Valeur de la variable d'environnement ENV_KERBEROS_CONFIG_ENABLE.
ENV_KERBEROS_DEFAULT_REALM_VALUE Valeur de la variable d'environnement ENV_KERBEROS_DEFAULT_REALM.
ENV_KERBEROS_DEFAULT_DOMAIN_VALUE Valeur de la variable d'environnement ENV_KERBEROS_DEFAULT_DOMAIN.
ENV_KERBEROS_CONTROLLER_ADDRESS_VALUE Valeur de la variable d'environnement ENV_KERBEROS_CONTROLLER_ADDRESS.

Créez l'arborescence requis pour le montage des volumes sur le système de fichiers :

1
2
3
4
mkdir -p EDGE_GATEWAY_REP/config
mkdir EDGE_GATEWAY_REP/graphical_archives
mkdir EDGE_GATEWAY_REP/ssh_archives
mkdir EDGE_GATEWAY_REP/log

Et enfin démarrez un nouveau conteneur :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
docker run -d --restart unless-stopped --name "DOCKER_NAME" \
-e ENV_MEDIATION="ENV_MEDIATION_VALUE" \
-e ENV_TOKEN="ENV_TOKEN_VALUE" \
-e ENV_NO_CHECK_CERT="ENV_NO_CHECK_CERT_VALUE" \
-e ENV_KERBEROS_CONFIG_ENABLE="ENV_KERBEROS_CONFIG_ENABLE_VALUE" \
-e ENV_KERBEROS_DEFAULT_REALM="ENV_KERBEROS_DEFAULT_REALM_VALUE" \
-e ENV_KERBEROS_DEFAULT_DOMAIN="ENV_KERBEROS_DEFAULT_DOMAIN_VALUE" \
-e ENV_KERBEROS_CONTROLLER_ADDRESS="ENV_KERBEROS_CONTROLLER_ADDRESS_VALUE" \
-v "EDGE_GATEWAY_REP/config/:/etc/ipdiva/:rw" \
-v "EDGE_GATEWAY_REP/graphical_archives/:/var/lib/ipdiva/carerecord/archives/:rw" \
-v "EDGE_GATEWAY_REP/ssh_archives/:/var/ipdiva/care/sshrecord/:rw" \
-v "EDGE_GATEWAY_REP/log/:/var/log/:rw" \
-p 2222:2222 \
-p 3389:3389 \
-p 8443:8443 \
cleanroom-gateway:4.6.1-33-v2

La visualisation des logs du conteneur peut être obtenu avec la commande suivante :

1
docker logs -f DOCKER_NAME

Déploiement manuel

Prérequis

Avant de déployer la Edge Gateway Docker, il est nécessaire d'avoir à disposition les certificats requis pour la Edge Gateway et le service d'enregistrement.

Le déploiement décrit ci-après utilisera l'ensemble des volumes disponibles et exposera l'ensemble des ports.
Les volumes seront montés sur le système de fichiers de la machine hôte avec comme emplacement MANUAL_REP. A l'intérieur de celui-ci se trouvent les sous-répertoires suivants :

  • config
  • graphical_archives
  • ssh_archives
  • log
  • certificates

Vous pouvez personnaliser les variables des commandes qui suivront :

Valeur personnalisée Variable Commentaire
MANUAL_NAME Nom du conteneur Docker.
MANUAL_REP Emplacement sur le système de fichier pour monter les volumes.
ENV_GW_CERT_NAME_VALUE Valeur de la variable d'environnement ENV_GW_CERT_NAME.
ENV_GW_CERT_PASSWORD_VALUE Valeur de la variable d'environnement ENV_GW_CERT_PASSWORD.
ENV_CARE_CERT_NAME_VALUE Valeur de la variable d'environnement ENV_CARE_CERT_NAME.
ENV_CARE_CERT_PASSWORD_VALUE Valeur de la variable d'environnement ENV_CARE_CERT_PASSWORD.
ENV_SSL_ROUTER_IP_VALUE Valeur de la variable d'environnement ENV_SSL_ROUTER_IP.
ENV_SSL_ROUTER_PORT_VALUE Valeur de la variable d'environnement ENV_SSL_ROUTER_PORT.
ENV_KERBEROS_CONFIG_ENABLE_MANUAL_VALUE Valeur de la variable d'environnement ENV_KERBEROS_CONFIG_ENABLE.
ENV_KERBEROS_DEFAULT_REALM_MANUAL_VALUE Valeur de la variable d'environnement ENV_KERBEROS_DEFAULT_REALM.
ENV_KERBEROS_DEFAULT_DOMAIN_MANUAL_VALUE Valeur de la variable d'environnement ENV_KERBEROS_DEFAULT_DOMAIN.
ENV_KERBEROS_CONTROLLER_ADDRESS_MANUAL_VALUE Valeur de la variable d'environnement ENV_KERBEROS_CONTROLLER_ADDRESS.

Créez l'arborescence requis pour le montage des volumes sur le système de fichiers :

1
2
3
4
5
mkdir -p MANUAL_REP/config
mkdir MANUAL_REP/graphical_archives
mkdir MANUAL_REP/ssh_archives
mkdir MANUAL_REP/log
mkdir MANUAL_REP/certificates

Placez ensuite les certificats pour la Edge Gateway et le service d'enregistrement dans MANUAL_REP/certificates.

Finalement démarrez un nouveau conteneur :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
docker run -d --restart unless-stopped --name "MANUAL_NAME" \
-e ENV_GW_CERT_NAME="ENV_GW_CERT_NAME_VALUE" \
-e ENV_GW_CERT_PASSWORD="ENV_GW_CERT_PASSWORD_VALUE" \
-e ENV_CARE_CERT_NAME="ENV_CARE_CERT_NAME_VALUE" \
-e ENV_CARE_CERT_PASSWORD="ENV_CARE_CERT_PASSWORD_VALUE" \
-e ENV_SSL_ROUTER_IP="ENV_SSL_ROUTER_IP_VALUE" \
-e ENV_SSL_ROUTER_PORT="ENV_SSL_ROUTER_PORT_VALUE" \
-e ENV_KERBEROS_CONFIG_ENABLE="ENV_KERBEROS_CONFIG_ENABLE_MANUAL_VALUE" \
-e ENV_KERBEROS_DEFAULT_REALM="ENV_KERBEROS_DEFAULT_REALM_MANUAL_VALUE" \
-e ENV_KERBEROS_DEFAULT_DOMAIN="ENV_KERBEROS_DEFAULT_DOMAIN_MANUAL_VALUE" \
-e ENV_KERBEROS_CONTROLLER_ADDRESS="ENV_KERBEROS_CONTROLLER_ADDRESS_MANUAL_VALUE" \
-v "MANUAL_REP/config/:/etc/ipdiva/:rw" \
-v "MANUAL_REP/graphical_archives/:/var/lib/ipdiva/carerecord/archives/:rw" \
-v "MANUAL_REP/ssh_archives/:/var/ipdiva/care/sshrecord/:rw" \
-v "MANUAL_REP/log/:/var/log/:rw" \
-v "MANUAL_REP/certificates/:/opt/certificates/:ro" \
-p 2222:2222 \
-p 3389:3389 \
-p 8443:8443 \
cleanroom-gateway:4.6.1-33-v2

La visualisation des logs du conteneur peut être obtenu avec la commande suivante :

1
docker logs -f MANUAL_NAME