Ir para o conteúdo

Instalação do Edge Gateway Docker

Importação da imagem Docker

Antes de poder criar um contentor Edge Gateway Docker, tem de importar a imagem Docker. Para isso, abra uma shell na qual disponha dos comandos Docker, bem como do ficheiro cleanroom-gateway-4.6.1-33-v4.tgz. A partir da shell, execute o comando seguinte, ajustando o caminho do ficheiro TGZ se este não se encontrar no diretório atual:

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

Em seguida, verifique se a importação foi bem-sucedida com o comando seguinte:

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

O resultado esperado é o seguinte (o identificador SHA256 pode variar em função do sistema operativo no qual o Docker está instalado; os exemplos provêm do Debian 13). Se não for o caso, a importação falhou:

1
2
3
4
5
6
[
    {
        "Id": "sha256:c63645a09181bc3b83958bedf2eb3d7ea5fbbc2526126edb660a519b93338974",
        "RepoTags": [
            "cleanroom-gateway:4.6.1-33-v4"
        ],
Resultado completo
 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
[
    {
        "Id": "sha256:c63645a09181bc3b83958bedf2eb3d7ea5fbbc2526126edb660a519b93338974",
        "RepoTags": [
            "cleanroom-gateway:4.6.1-33-v4"
        ],
        "RepoDigests": [
            "cleanroom-gateway@sha256:fd96104ea219a05216c90c71c39b761083c989cbab8ef1f388cac09015bd54a3"
        ],
        "Comment": "buildkit.dockerfile.v0",
        "Created": "2026-02-17T16:21:12.399890264+01:00",
        "Config": {
            "User": "root",
            "ExposedPorts": {
                "9080/tcp": {}
            },
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "DEBIAN_FRONTEND=noninteractive",
                "IMAGE_BUILD_DATE=20260217T161839",
                "IMAGE_BUILD_VERSION=4.6.1-33-v4",
                "IMAGE_IPDIPC=IPC-54826,IPC-53702,IPC-55425"
            ],
            "Entrypoint": [
                "/entrypoint.sh"
            ],
            "Volumes": {
                "/etc/ipdiva/": {},
                "/var/log/": {}
            },
            "Labels": {
                "maintainer": "contact@systancia.com",
                "org.label-schema.build-date": "20260217T161839",
                "org.label-schema.description": "Systancia Cleanroom Gateway",
                "org.label-schema.name": "Systancia Cleanroom 4.6.1-33-v4 Gateway",
                "org.label-schema.url": "http://systancia.com/",
                "org.label-schema.vendor": "Systancia",
                "version": "4.6.1-33-v4"
            },
            "Healthcheck": {
                "Test": [
                    "CMD-SHELL",
                    "/usr/lib/nagios/plugins/IPdivaSensorGateway -a isConnected -g 127.0.0.1:9080"
                ],
                "Interval": 300000000000,
                "Timeout": 10000000000,
                "Retries": 3
            }
        },
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 1248982227,
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/5a32af4bf30239320f2d4f04e9dde6e448d138d0e00dbcd0aa07ff859518bfd5/diff:/var/lib/docker/overlay2/da3ceed2e06933403d5e2b503f654efe58afd3067562d4991615cc79109f5000/diff:/var/lib/docker/overlay2/022f1b9fc82a6210ac50a7bf20705651a5a6bd2bfcdd8ca4993778870c4f04ce/diff:/var/lib/docker/overlay2/7675c3cb606871d89d593c5b40746256a109640e03d4846ee49392792f94c29b/diff:/var/lib/docker/overlay2/a0bc243e1069486711b74a39142def4596f99b21d00d286a2bd6212cf8902401/diff:/var/lib/docker/overlay2/fe91732a9355873a0d60ec041ea365567f0fbc963173c9428ab896b591fcb460/diff:/var/lib/docker/overlay2/d4af0110a3ab43120dea8c19e35b7552ad8f8d993d556c34143ecb3c4bd7e670/diff:/var/lib/docker/overlay2/399d72a9751679283e1435dffa5ea7b5abc07f264987815be3846e8e617cf031/diff:/var/lib/docker/overlay2/5c1723a91777858469dc540b3a91738f4b6fc6c0a3cc6686d48b4cb85a9c0400/diff:/var/lib/docker/overlay2/60b4e962507a658aa32be63de9cea55df0a45459b2f3549b3eef3443b35519b9/diff:/var/lib/docker/overlay2/9ff870b850857af52af3de1939f1abd129e96a91d608f3b8f68e0cbcd09eb181/diff",
                "MergedDir": "/var/lib/docker/overlay2/48efe7a9b5e8c4e24a395024dd0876c942b03a52ea161df553d5ee566505c4a8/merged",
                "UpperDir": "/var/lib/docker/overlay2/48efe7a9b5e8c4e24a395024dd0876c942b03a52ea161df553d5ee566505c4a8/diff",
                "WorkDir": "/var/lib/docker/overlay2/48efe7a9b5e8c4e24a395024dd0876c942b03a52ea161df553d5ee566505c4a8/work"
            },
            "Name": "overlay2"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:51e78f04fd47b324ef2558bbed0cb5bc0d6d8e5ca3c56d5b98b91866a88f37bb",
                "sha256:3bb2b94a7a30506f2a91d55a04aa0e90a487b3a321d2e1df4f97dfbcfe32cfc0",
                "sha256:deb44bbc3e3d6990e142dc66532aeace714d6c191f1ede7a0f6fd8dcd7e751d3",
                "sha256:e61e4e2f89a04cb7bed974b2c8f510dd72d76e4bf998a000d082fc33bf29947e",
                "sha256:96b1236ab0e31d36a0d0fd17878770d969a11c8d4d33f8cacac568d0b0d76324",
                "sha256:989a4d7dbba1836ad30f58ca73f3101b21b80929f732d5ebdc87a69939b8cf6d",
                "sha256:1f2b05f37aceed6edd80cbe798657a7eb8fce3c7383df8d40d9fdeb273867a9d",
                "sha256:63aa193be3dc44af0057719f79991745e40d8b522a2aa49743dd04fe81b6a637",
                "sha256:02dcea7c2ed886996c81bd6980516420b90e2cdd930dc805388bcd5c7e14b5b3",
                "sha256:1f8c0ab2de5021d138baa67506b22d4d21750a23d0e9278a152daa2e7e953bff",
                "sha256:3601c2e047e3c5019a5e45fb23b478154beb6188761e31aeddb4326bfe16f81c",
                "sha256:20963ed8264d1ceaeb3680375c9c3df4045aa17af258957f3fa83f6224e62138"
            ]
        },
        "Metadata": {
            "LastTagTime": "0001-01-01T00:00:00Z"
        }
    }
]

Configuração do contentor

Variáveis de ambiente

Variáveis para a implementação por pairing

Nome Obrigatório Valor predefinido Comentário
ENV_MEDIATION SIM Utilizada para a ligação por pairing.
Indica o tenant cyberelements.
ENV_TOKEN SIM Utilizada para a ligação por pairing.
Indica o token de pairing a utilizar para a ligação ao Mediation Controller.
ENV_NO_CHECK_CERT NÃO false Utilizada para as ligações por pairing.
Desativa ou não a verificação do certificado web do Mediation Controller; é útil quando o acesso é feito por endereço IP ou quando o certificado web não é reconhecido pelas autoridades de certificação públicas predefinidas.
Valores aceites: true ou false.

Variáveis para a implementação manual

Nome Obrigatório Valor predefinido Comentário
ENV_GW_CERT_NAME SIM Utilizada para a ligação com configuração manual.
Nome do ficheiro de certificado para a ligação ao SSL Router.
ENV_GW_CERT_PASSWORD SIM Utilizada para a ligação com configuração manual.
Palavra-passe do ficheiro de certificado para a ligação ao SSL Router.
ENV_CARE_CERT_NAME NÃO Valor de ENV_GW_CERT_NAME Utilizada para a ligação com configuração manual.
Nome do ficheiro de certificado do serviço de gravação.
ENV_CARE_CERT_PASSWORD NÃO Valor de ENV_GW_CERT_PASSWORD Utilizada para a ligação com configuração manual.
Palavra-passe do ficheiro de certificado do serviço de gravação.
ENV_SSL_ROUTER_IP SIM Utilizada para a ligação com configuração manual.
Endereço IP ou nome DNS do SSL Router ao qual o Edge Gateway se liga.
ENV_SSL_ROUTER_PORT NÃO 443 Utilizada para a ligação com configuração manual.
Porta do SSL Router à qual o Edge Gateway se liga.

Variáveis diversas

Nome Obrigatório Valor predefinido Comentário
ENV_DISABLE_RSYSLOG NÃO false Desativação do serviço rsyslog.
Valores aceites: true ou false.
ENV_KERBEROS_CONFIG_ENABLE NÃO false Ativa a configuração Kerberos para permitir que as aplicações RDP se autentiquem em modo sem agente através de Kerberos.
Valores aceites: true ou false.
Se for false, as restantes variáveis Kerberos são ignoradas.
ENV_KERBEROS_DEFAULT_REALM SIM
(se a configuração Kerberos estiver ativada)
Nome do realm Kerberos.
ENV_KERBEROS_DEFAULT_DOMAIN SIM
(se a configuração Kerberos estiver ativada)
Nome do domínio Kerberos.
ENV_KERBEROS_CONTROLLER_ADDRESS SIM
(se a configuração Kerberos estiver ativada)
Endereço de ligação ao controlador Kerberos.

Volumes

Volume Comentário
/etc/ipdiva/ Volume de configuração do Edge Gateway.
Recomendamos montá-lo num volume com nome ou no sistema de ficheiros da máquina anfitriã.
/opt/certificates/ Volume que contém o ou os certificados do Edge Gateway numa configuração sem pairing.
/var/lib/ipdiva/carerecord/archives/ Volume que contém as gravações gráficas.
Recomendamos montá-lo num volume com nome ou no sistema de ficheiros da máquina anfitriã.
/var/ipdiva/care/sshrecord/ Volume que contém as gravações SSH.
Recomendamos montá-lo num volume com nome ou no sistema de ficheiros da máquina anfitriã.
/var/log/ Volume que contém os logs do Edge Gateway.

Portas

Porta Comentário
2222 (ou qualquer outra porta disponível escolhida pelo administrador) Porta de escuta do serviço de acesso direto SSH/SFTP.
3389 Porta de escuta do serviço de acesso direto RDP.
8443 Porta de escuta do serviço de gravação, a expor quando se utiliza o agente de gravação Windows.

Implementação do Edge Gateway Docker

Implementação com pairing

Pré-requisitos

Antes de implementar o Edge Gateway Docker, tem de obter um token de pairing.

A implementação descrita a seguir utiliza todos os volumes disponíveis (exceto /opt/certificates/, que não é útil neste contexto) e expõe todas as portas.
Os volumes são montados no sistema de ficheiros da máquina anfitriã na localização EDGE_GATEWAY_REP. Dentro desta localização encontram-se os seguintes subdiretórios:

  • config
  • graphical_archives
  • ssh_archives
  • log

Pode personalizar as variáveis dos comandos seguintes:

Valor personalizado Variável Comentário
DOCKER_NAME Nome do contentor Docker.
EDGE_GATEWAY_REP Localização no sistema de ficheiros onde montar os volumes.
ENV_MEDIATION_VALUE Valor da variável de ambiente ENV_MEDIATION.
ENV_TOKEN_VALUE Valor da variável de ambiente ENV_TOKEN.
ENV_NO_CHECK_CERT_VALUE Valor da variável de ambiente ENV_NO_CHECK_CERT.
ENV_KERBEROS_CONFIG_ENABLE_VALUE Valor da variável de ambiente ENV_KERBEROS_CONFIG_ENABLE.
ENV_KERBEROS_DEFAULT_REALM_VALUE Valor da variável de ambiente ENV_KERBEROS_DEFAULT_REALM.
ENV_KERBEROS_DEFAULT_DOMAIN_VALUE Valor da variável de ambiente ENV_KERBEROS_DEFAULT_DOMAIN.
ENV_KERBEROS_CONTROLLER_ADDRESS_VALUE Valor da variável de ambiente ENV_KERBEROS_CONTROLLER_ADDRESS.

Crie a árvore de diretórios necessária para montar os volumes no sistema de ficheiros:

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, por último, inicie um novo contentor:

 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-v4

Os logs do contentor podem ser consultados com o comando seguinte:

1
docker logs -f DOCKER_NAME

Implementação manual

Pré-requisitos

Antes de implementar o Edge Gateway Docker, tem de dispor dos certificados necessários para o Edge Gateway e para o serviço de gravação.

A implementação descrita a seguir utiliza todos os volumes disponíveis e expõe todas as portas.
Os volumes são montados no sistema de ficheiros da máquina anfitriã na localização MANUAL_REP. Dentro desta localização encontram-se os seguintes subdiretórios:

  • config
  • graphical_archives
  • ssh_archives
  • log
  • certificates

Pode personalizar as variáveis dos comandos seguintes:

Valor personalizado Variável Comentário
MANUAL_NAME Nome do contentor Docker.
MANUAL_REP Localização no sistema de ficheiros onde montar os volumes.
ENV_GW_CERT_NAME_VALUE Valor da variável de ambiente ENV_GW_CERT_NAME.
ENV_GW_CERT_PASSWORD_VALUE Valor da variável de ambiente ENV_GW_CERT_PASSWORD.
ENV_CARE_CERT_NAME_VALUE Valor da variável de ambiente ENV_CARE_CERT_NAME.
ENV_CARE_CERT_PASSWORD_VALUE Valor da variável de ambiente ENV_CARE_CERT_PASSWORD.
ENV_SSL_ROUTER_IP_VALUE Valor da variável de ambiente ENV_SSL_ROUTER_IP.
ENV_SSL_ROUTER_PORT_VALUE Valor da variável de ambiente ENV_SSL_ROUTER_PORT.
ENV_KERBEROS_CONFIG_ENABLE_MANUAL_VALUE Valor da variável de ambiente ENV_KERBEROS_CONFIG_ENABLE.
ENV_KERBEROS_DEFAULT_REALM_MANUAL_VALUE Valor da variável de ambiente ENV_KERBEROS_DEFAULT_REALM.
ENV_KERBEROS_DEFAULT_DOMAIN_MANUAL_VALUE Valor da variável de ambiente ENV_KERBEROS_DEFAULT_DOMAIN.
ENV_KERBEROS_CONTROLLER_ADDRESS_MANUAL_VALUE Valor da variável de ambiente ENV_KERBEROS_CONTROLLER_ADDRESS.

Crie a árvore de diretórios necessária para montar os volumes no sistema de ficheiros:

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

Em seguida, coloque os certificados do Edge Gateway e do serviço de gravação em MANUAL_REP/certificates.

Por último, inicie um novo contentor:

 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-v4

Os logs do contentor podem ser consultados com o comando seguinte:

1
docker logs -f MANUAL_NAME