Przejdź do treści

Instalacja Edge Gateway Docker

Import obrazu Docker

Przed utworzeniem kontenera Edge Gateway Docker należy zaimportować obraz Docker. Uruchom w tym celu powłokę, w której dostępne są polecenia Docker oraz plik cleanroom-gateway-4.6.1-33-v4.tgz. Z powłoki wykonaj poniższe polecenie, dostosowując ścieżkę do pliku TGZ, jeśli nie znajduje się on w katalogu bieżącym:

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

Następnie sprawdź poniższym poleceniem, czy import się udał:

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

Oczekiwane wyjście jest następujące (identyfikator SHA256 może się różnić w zależności od systemu operacyjnego, w którym zainstalowano Docker; przykłady pochodzą z Debiana 13). Jeśli tak nie jest, import się nie udał:

1
2
3
4
5
6
[
    {
        "Id": "sha256:c63645a09181bc3b83958bedf2eb3d7ea5fbbc2526126edb660a519b93338974",
        "RepoTags": [
            "cleanroom-gateway:4.6.1-33-v4"
        ],
Pełne wyjście
 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"
        }
    }
]

Konfiguracja kontenera

Zmienne środowiskowe

Zmienne dla wdrożenia przez pairing

Nazwa Obowiązkowa Wartość domyślna Komentarz
ENV_MEDIATION TAK Używana do połączenia przez pairing.
Wskazuje tenant cyberelements.
ENV_TOKEN TAK Używana do połączenia przez pairing.
Wskazuje token pairing, który ma zostać użyty do połączenia z Mediation Controller.
ENV_NO_CHECK_CERT NIE false Używana do połączeń przez pairing.
Wyłącza lub nie sprawdzanie certyfikatu webowego serwera Mediation Controller; przydatna przy dostępie po adresie IP lub gdy certyfikat webowy nie jest certyfikatem uznawanym przez domyślne publiczne urzędy certyfikacji.
Dozwolone wartości: true lub false.

Zmienne dla wdrożenia ręcznego

Nazwa Obowiązkowa Wartość domyślna Komentarz
ENV_GW_CERT_NAME TAK Używana do połączenia z konfiguracją ręczną.
Nazwa pliku certyfikatu do połączenia z SSL Router.
ENV_GW_CERT_PASSWORD TAK Używana do połączenia z konfiguracją ręczną.
Hasło pliku certyfikatu do połączenia z SSL Router.
ENV_CARE_CERT_NAME NIE Wartość ENV_GW_CERT_NAME Używana do połączenia z konfiguracją ręczną.
Nazwa pliku certyfikatu usługi nagrywania.
ENV_CARE_CERT_PASSWORD NIE Wartość ENV_GW_CERT_PASSWORD Używana do połączenia z konfiguracją ręczną.
Hasło pliku certyfikatu usługi nagrywania.
ENV_SSL_ROUTER_IP TAK Używana do połączenia z konfiguracją ręczną.
Adres IP lub nazwa DNS serwera SSL Router, z którym połączy się Edge Gateway.
ENV_SSL_ROUTER_PORT NIE 443 Używana do połączenia z konfiguracją ręczną.
Port serwera SSL Router, z którym połączy się Edge Gateway.

Różne zmienne

Nazwa Obowiązkowa Wartość domyślna Komentarz
ENV_DISABLE_RSYSLOG NIE false Wyłączenie usługi rsyslog.
Dozwolone wartości: true lub false.
ENV_KERBEROS_CONFIG_ENABLE NIE false Włącza konfigurację Kerberos, aby aplikacje RDP mogły uwierzytelniać się w trybie bez agenta za pomocą Kerberos.
Dozwolone wartości: true lub false.
Przy false pozostałe zmienne Kerberos są ignorowane.
ENV_KERBEROS_DEFAULT_REALM TAK
(jeśli konfiguracja Kerberos jest włączona)
Nazwa realmu Kerberos.
ENV_KERBEROS_DEFAULT_DOMAIN TAK
(jeśli konfiguracja Kerberos jest włączona)
Nazwa domeny Kerberos.
ENV_KERBEROS_CONTROLLER_ADDRESS TAK
(jeśli konfiguracja Kerberos jest włączona)
Adres połączenia z kontrolerem Kerberos.

Wolumeny

Wolumen Komentarz
/etc/ipdiva/ Wolumen konfiguracyjny serwera Edge Gateway.
Zalecamy zamontowanie go w nazwanym wolumenie lub w systemie plików maszyny hosta.
/opt/certificates/ Wolumen zawierający certyfikat lub certyfikaty serwera Edge Gateway w konfiguracji bez pairing.
/var/lib/ipdiva/carerecord/archives/ Wolumen zawierający archiwa graficzne.
Zalecamy zamontowanie go w nazwanym wolumenie lub w systemie plików maszyny hosta.
/var/ipdiva/care/sshrecord/ Wolumen zawierający archiwa SSH.
Zalecamy zamontowanie go w nazwanym wolumenie lub w systemie plików maszyny hosta.
/var/log/ Wolumen zawierający logi serwera Edge Gateway.

Porty

Port Komentarz
2222 (lub dowolny inny dostępny port wybrany przez administratora) Port nasłuchu usługi bezpośredniego dostępu SSH/SFTP.
3389 Port nasłuchu usługi bezpośredniego dostępu RDP.
8443 Port nasłuchu usługi nagrywania, który należy udostępnić przy korzystaniu z agenta nagrywania dla systemu Windows.

Wdrożenie Edge Gateway Docker

Wdrożenie z pairing

Wymagania wstępne

Przed wdrożeniem Edge Gateway Docker musisz uzyskać token pairing.

Opisane poniżej wdrożenie wykorzystuje wszystkie dostępne wolumeny (poza /opt/certificates/, który w tym kontekście nie jest przydatny) i udostępnia wszystkie porty.
Wolumeny zostaną zamontowane w systemie plików maszyny hosta w lokalizacji EDGE_GATEWAY_REP. W tej lokalizacji znajdują się następujące podkatalogi:

  • config
  • graphical_archives
  • ssh_archives
  • log

Możesz dostosować zmienne poniższych poleceń:

Wartość dostosowana Zmienna Komentarz
DOCKER_NAME Nazwa kontenera Docker.
EDGE_GATEWAY_REP Lokalizacja w systemie plików, w której montowane są wolumeny.
ENV_MEDIATION_VALUE Wartość zmiennej środowiskowej ENV_MEDIATION.
ENV_TOKEN_VALUE Wartość zmiennej środowiskowej ENV_TOKEN.
ENV_NO_CHECK_CERT_VALUE Wartość zmiennej środowiskowej ENV_NO_CHECK_CERT.
ENV_KERBEROS_CONFIG_ENABLE_VALUE Wartość zmiennej środowiskowej ENV_KERBEROS_CONFIG_ENABLE.
ENV_KERBEROS_DEFAULT_REALM_VALUE Wartość zmiennej środowiskowej ENV_KERBEROS_DEFAULT_REALM.
ENV_KERBEROS_DEFAULT_DOMAIN_VALUE Wartość zmiennej środowiskowej ENV_KERBEROS_DEFAULT_DOMAIN.
ENV_KERBEROS_CONTROLLER_ADDRESS_VALUE Wartość zmiennej środowiskowej ENV_KERBEROS_CONTROLLER_ADDRESS.

Utwórz w systemie plików strukturę katalogów wymaganą do zamontowania wolumenów:

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

Na koniec uruchom nowy kontener:

 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

Logi kontenera można wyświetlić za pomocą poniższego polecenia:

1
docker logs -f DOCKER_NAME

Wdrożenie ręczne

Wymagania wstępne

Przed wdrożeniem Edge Gateway Docker musisz dysponować wymaganymi certyfikatami dla Edge Gateway oraz dla usługi nagrywania.

Opisane poniżej wdrożenie wykorzystuje wszystkie dostępne wolumeny i udostępnia wszystkie porty.
Wolumeny zostaną zamontowane w systemie plików maszyny hosta w lokalizacji MANUAL_REP. W tej lokalizacji znajdują się następujące podkatalogi:

  • config
  • graphical_archives
  • ssh_archives
  • log
  • certificates

Możesz dostosować zmienne poniższych poleceń:

Wartość dostosowana Zmienna Komentarz
MANUAL_NAME Nazwa kontenera Docker.
MANUAL_REP Lokalizacja w systemie plików, w której montowane są wolumeny.
ENV_GW_CERT_NAME_VALUE Wartość zmiennej środowiskowej ENV_GW_CERT_NAME.
ENV_GW_CERT_PASSWORD_VALUE Wartość zmiennej środowiskowej ENV_GW_CERT_PASSWORD.
ENV_CARE_CERT_NAME_VALUE Wartość zmiennej środowiskowej ENV_CARE_CERT_NAME.
ENV_CARE_CERT_PASSWORD_VALUE Wartość zmiennej środowiskowej ENV_CARE_CERT_PASSWORD.
ENV_SSL_ROUTER_IP_VALUE Wartość zmiennej środowiskowej ENV_SSL_ROUTER_IP.
ENV_SSL_ROUTER_PORT_VALUE Wartość zmiennej środowiskowej ENV_SSL_ROUTER_PORT.
ENV_KERBEROS_CONFIG_ENABLE_MANUAL_VALUE Wartość zmiennej środowiskowej ENV_KERBEROS_CONFIG_ENABLE.
ENV_KERBEROS_DEFAULT_REALM_MANUAL_VALUE Wartość zmiennej środowiskowej ENV_KERBEROS_DEFAULT_REALM.
ENV_KERBEROS_DEFAULT_DOMAIN_MANUAL_VALUE Wartość zmiennej środowiskowej ENV_KERBEROS_DEFAULT_DOMAIN.
ENV_KERBEROS_CONTROLLER_ADDRESS_MANUAL_VALUE Wartość zmiennej środowiskowej ENV_KERBEROS_CONTROLLER_ADDRESS.

Utwórz w systemie plików strukturę katalogów wymaganą do zamontowania wolumenów:

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

Następnie umieść certyfikaty dla Edge Gateway i dla usługi nagrywania w MANUAL_REP/certificates.

Na koniec uruchom nowy kontener:

 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

Logi kontenera można wyświetlić za pomocą poniższego polecenia:

1
docker logs -f MANUAL_NAME