Vai al contenuto

Installazione del Edge Gateway Docker

Importazione dell'immagine Docker

Prima di creare un contenitore Docker Edge Gateway, è necessario importare l'immagine Docker. Per fare questo, lanciare una shell dalla quale sono disponibili i comandi Docker, così come il file cleanroom-gateway-4.6.1-33-v2.tgz. Dal shell, eseguire il seguente comando, regolando il percorso del file TGZ se non è nella directory corrente:

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

Verifica che l' importazione sia stata eseguita con successo con il seguente comando:

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

La produzione prevista è la seguente: se non è così, l'importazione è fallita:

1
2
3
4
5
6
[
    {
        "Id": "sha256:f95237b30c2407a652e5cf9ab84abc0446e04373a30cd83d39c878284c98950b",
        "RepoTags": [
            "cleanroom-gateway:4.6.1-33-v2"
        ],
Tutto il prodotto
 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": ""
        }
    }
]

Configurazione del contenitore

Variabili ambientali

Variabili per l'implementazione tramite accoppiamento

Nome Obbligatorio Valore predefinito Commento
ENV_MEDIATION SI Utilizzato per la connessione di accoppiamento.
Indicazione del tenant cyberelements.io o del nome DNS o dell'indirizzo IP per la connessione all'interfaccia web di una piattaforma cyberelements Cleanroom.
ENV_TOKEN SI Utilizzato per la connessione di accoppiamento.
Indicazione del token di accoppiamento da utilizzare per la connessione al Mediation Controller.
ENV_NO_CHECK_CERT NO false Utilizzato per l'accoppiamento delle connessioni.
Se disabilitare o meno Mediation Controller il controllo dei certificati web, utile con ** cyber** elementi Cleanroom quando si accede tramite indirizzo IP o quando il certificato web non è un certificato riconosciuto dalle autorità di certificazione pubbliche predefinite.
Valori accettati: true o false.

Variabili per l'implementazione manuale

Nome Obbligatorio Valore predefinito Commento
ENV_GW_CERT_NAME SI Utilizzato per la connessione con la configurazione manuale.
Nome del file del certificato per la connessione al router SSL.
ENV_GW_CERT_PASSWORD SI Utilizzato per la connessione con configurazione manuale.
Password del file certificato per la connessione al router SSL.
ENV_CARE_CERT_NAME NO Valore di ENV_GW_CERT_NAME Utilizzato per la connessione con la configurazione manuale.
Nome del file di certificato per il servizio di registrazione.
ENV_CARE_CERT_PASSWORD NO Valore di ENV_GW_CERT_PASSWORD Utilizzato per la connessione con la configurazione manuale.
Password per il file di certificato del servizio di registrazione.
ENV_SSL_ROUTER_IP SI Utilizzato per la connessione con la configurazione manuale.
Indirizzo IP o nome DNS del router SSL a cui si connetterà Edge Gateway.
ENV_SSL_ROUTER_PORT NO 443 Utilizzato per la connessione con la configurazione manuale.
Porta sul router SSL a cui si connetterà Edge Gateway.

Vari variabili

Nome Obbligatorio Valore predefinito Commento
ENV_DISABLE_RSYSLOG NO false Disattivazione del servizio rsyslog
Valori accettati: true o false
ENV_KERBEROS_CONFIG_ENABLE NO false Abilitare le impostazioni di Kerberos per consentire alle applicazioni RDP di autenticare in modalità senza agente utilizzando Kerberos.
Valori accettati: true o false.
Se false le altre variabili di Kerberos verranno ignorate.
ENV_KERBEROS_DEFAULT_REALM SI
(se la configurazione di Kerberos è abilitata)
Nome del dominio di Kerberos.
ENV_KERBEROS_DEFAULT_DOMAIN SI
(se la configurazione di Kerberos è abilitata)
Nome di dominio di Kerberos.
ENV_KERBEROS_CONTROLLER_ADDRESS SI
(se la configurazione di Kerberos è abilitata)
Indirizzo di connessione al controllore di Kerberos.

Volumi

Volume Commento
/etc/ipdiva/ Edge Gateway volume di configurazione.
Si consiglia di montarlo su un volume nominato o sul file system della macchina host.
/opt/certificates/ Volume contenente il certificato Edge Gateway (s) in una configurazione senza abbinamento.
/var/lib/ipdiva/carerecord/archives/ Volume contenente gli archivi grafici.
Si consiglia di montarlo su un volume nominato o sul file system della macchina host.
/var/ipdiva/care/sshrecord/ Volume contenente gli archivi SSH.
Si consiglia di montarlo su un volume nominato o sul file system della macchina host.
/var/log/ Volume contenente i Edge Gateway log

Porti

Porto Commento
2222 (o qualsiasi altra porta disponibile scelta dall'amministratore) Porta di ascolto per il servizio di accesso diretto SSH/SFTP.
3389 Porta di ascolto per il servizio di accesso diretto RDP.
8443 Porta di ascolto per il servizio di registrazione, da esporre quando si utilizza l'agente di registrazione di Windows.

Distribuzione del Edge Gateway Docker

Distribuzione con accoppiamento

Prerequisiti

Prima di distribuire il Edge Gateway Docker, è necessario ottenere un token di accoppiamento .

La distribuzione descritta di seguito utilizzerà tutti i volumi disponibili (ad eccezione di /opt/certificates/ che non è utile in questo contesto) ed esporrà tutte le porte.
I volumi saranno montati sul file system della macchina host con la posizione EDGE_GATEWAY_REP. All'interno di questa posizione ci sono le seguenti sottodirectory:

  • config
  • Archivi grafici
  • ssh_archivi
  • log

Puoi personalizzare le variabili per i seguenti comandi:

Valore personalizzato Variabile Commento
DOCKER_NAME Nome del contenitore Docker.
EDGE_GATEWAY_REP Localizzazione nel file system per montare i volumi.
ENV_MEDIATION_VALUE Valore della ENV_MEDIATION variabile ambientale
ENV_TOKEN_VALUE Valore della ENV_TOKEN variabile ambientale
ENV_NO_CHECK_CERT_VALUE Valore della ENV_NO_CHECK_CERT variabile ambientale
ENV_KERBEROS_CONFIG_ENABLE_VALUE Valore della ENV_KERBEROS_CONFIG_ENABLE variabile ambientale
ENV_KERBEROS_DEFAULT_REALM_VALUE Valore della ENV_KERBEROS_DEFAULT_REALM variabile ambientale
ENV_KERBEROS_DEFAULT_DOMAIN_VALUE Valore della ENV_KERBEROS_DEFAULT_DOMAIN variabile ambientale
ENV_KERBEROS_CONTROLLER_ADDRESS_VALUE Valore della ENV_KERBEROS_CONTROLLER_ADDRESS variabile ambientale

Creare l' albero di directory necessario per il montaggio dei volumi sul file system:

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

E infine, iniziare un nuovo contenitore:

 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

I registri dei contenitori possono essere visualizzati utilizzando il seguente comando:

1
docker logs -f DOCKER_NAME

Impostazione manuale

Prerequisiti

Prima di utilizzare il Edge Gateway Docker, devi avere i certificati richiesti per il Edge Gateway e il servizio di registrazione.

L'impiego descritto di seguito utilizzerà tutti i volumi disponibili ed esporrà tutti i porti.
I volumi saranno montati sul file system della macchina host con la posizione MANUAL_REP. All'interno di questa posizione ci sono le seguenti sottodirectory:

  • config
  • Archivi grafici
  • ssh_archivi
  • log
  • certificati

Puoi personalizzare le variabili per i seguenti comandi:

Valore personalizzato Variabile Commento
MANUAL_NAME Nome del contenitore Docker.
MANUAL_REP Localizzazione nel file system per montare i volumi.
ENV_GW_CERT_NAME_VALUE Valore della ENV_GW_CERT_NAME variabile ambientale
ENV_GW_CERT_PASSWORD_VALUE Valore della ENV_GW_CERT_PASSWORD variabile ambientale
ENV_CARE_CERT_NAME_VALUE Valore della ENV_CARE_CERT_NAME variabile ambientale
ENV_CARE_CERT_PASSWORD_VALUE Valore della ENV_CARE_CERT_PASSWORD variabile ambientale
ENV_SSL_ROUTER_IP_VALUE Valore della ENV_SSL_ROUTER_IP variabile ambientale
ENV_SSL_ROUTER_PORT_VALUE Valore della ENV_SSL_ROUTER_PORT variabile ambientale
ENV_KERBEROS_CONFIG_ENABLE_MANUAL_VALUE Valore della ENV_KERBEROS_CONFIG_ENABLE variabile ambientale
ENV_KERBEROS_DEFAULT_REALM_MANUAL_VALUE Valore della ENV_KERBEROS_DEFAULT_REALM variabile ambientale
ENV_KERBEROS_DEFAULT_DOMAIN_MANUAL_VALUE Valore della ENV_KERBEROS_DEFAULT_DOMAIN variabile ambientale
ENV_KERBEROS_CONTROLLER_ADDRESS_MANUAL_VALUE Valore della ENV_KERBEROS_CONTROLLER_ADDRESS variabile ambientale

Creare l' albero di directory necessario per il montaggio dei volumi sul file system:

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

Poi inserire i certificati per il Edge Gateway e il servizio di registrazione in MANUAL_REP/certificates.

Infine, avviare un nuovo contenitore:

 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

I registri dei contenitori possono essere visualizzati utilizzando il seguente comando:

1
docker logs -f MANUAL_NAME