Preskočiť na obsah

Inštalácia HTML5 Gateway Docker

Import obrazu Docker

Skôr ako budete môcť vytvoriť kontajner HTML5 Gateway Docker, musíte importovať obraz Docker. Na tento účel otvorte prostredie shell, v ktorom máte k dispozícii príkazy Docker, ako aj súbor cleanroom-html5-4.6.1-33-v2.tgz. V prostredí shell spustite nasledujúci príkaz a upravte cestu k súboru TGZ, ak sa nenachádza v aktuálnom adresári:

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

Potom pomocou nasledujúceho príkazu overte, či bol import úspešný:

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

Očakávaný výstup je nasledujúci. Ak to tak nie je, import zlyhal:

1
2
3
4
5
6
[
    {
        "Id": "sha256:16ae07f1604409f6b092a8a2944e69b3db458a04dbbab6ffc3f945c253c82cee",
        "RepoTags": [
            "cleanroom-html5:4.6.1-33-v2"
        ],
Úplný výstup
 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
[
    {
        "Id": "sha256:16ae07f1604409f6b092a8a2944e69b3db458a04dbbab6ffc3f945c253c82cee",
        "RepoTags": [
            "cleanroom-html5:4.6.1-33-v2"
        ],
        "RepoDigests": [],
        "Parent": "",
        "Comment": "buildkit.dockerfile.v0",
        "Created": "2025-08-27T11:35:33.014244258+02:00",
        "DockerVersion": "",
        "Author": "",
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 781097647,
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/aa079416d669709486e3fd3dfefcff51acb3905ffcca7e6e428630d1a499e669/diff:/var/lib/docker/overlay2/da9f43ee88f5961a157af404be018fc7c3f5185a798b26911e38118d83830de7/diff:/var/lib/docker/overlay2/28efb3982392e95711e849cb90985fd534cd6273f4dec758463f98b41a432e93/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/b9c8170b6a9ed8e7c84a9ba208cd6e4b25e88d1dad42cd72b0e1178da62a46d4/merged",
                "UpperDir": "/var/lib/docker/overlay2/b9c8170b6a9ed8e7c84a9ba208cd6e4b25e88d1dad42cd72b0e1178da62a46d4/diff",
                "WorkDir": "/var/lib/docker/overlay2/b9c8170b6a9ed8e7c84a9ba208cd6e4b25e88d1dad42cd72b0e1178da62a46d4/work"
            },
            "Name": "overlay2"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:4668f0f488e5ad4494fadff56ad585c514794b3a293e5e8d006410de9da08155",
                "sha256:782f6c5256575fbef0e518a1a1ce9188c457f1a0e9b88b733ed672f6e1be482d",
                "sha256:e09fd3e10e878ef6c812ccde0fa55b66cf4b9b593cf182c2760fec73649968c2",
                "sha256:e51c952c7bd89e0a3188c683d689eed81444d5513c14251f4b21cb9fd056d27d",
                "sha256:233ff67db52988898e3c1b4c2573b86c1c0c50d23f1f4b2365e3fc51abedbf9f",
                "sha256:f832eee42398852cab80a9a45138bf076d63ebbe153263fd8cf66857a0833d02",
                "sha256:f59f79d19c38ae4863b81774ad1d98030370c64e17013eb786da7b727bf2b41b",
                "sha256:0caeed550a29dbb274781e78bbe910fa5ccfdc90119cb4f9e3c815feff5a70b9",
                "sha256:21313651aa44ac0f5dd459a94be172b003b68f81b0db945c24a7ada5c21799e3"
            ]
        },
        "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": {
                "8080/tcp": {},
                "8090/tcp": {}
            },
            "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 HTML5 Server",
                "org.label-schema.url": "http://systancia.com/",
                "org.label-schema.vendor": "Systancia",
                "version": "4.6.1-33-v2"
            },
            "OnBuild": null,
            "User": "root",
            "Volumes": null,
            "WorkingDir": ""
        }
    }
]

Konfigurácia kontajnera

Premenné prostredia

Premenné pre nasadenie pomocou pairingu

Názov Povinné Predvolená hodnota Komentár
ENV_MEDIATION ÁNO Používa sa pri pripojení pomocou pairingu.
Uvádza názov DNS alebo IP adresu na pripojenie k webovému rozhraniu platformy CyberElements Bastion.
ENV_TOKEN ÁNO Používa sa na pripojenie pomocou pairingu.
Označenie tokenu pairingu, ktorý sa má použiť na pripojenie k službe Mediation Controller.
ENV_NO_CHECK_CERT NIE false Používa sa pri pripojeniach pomocou pairingu.
Určuje, či sa má zakázať kontrola webového certifikátu služby Mediation Controller; užitočné pri CyberElements Bastion, keď sa pristupuje cez IP adresu alebo keď webový certifikát nie je certifikátom uznávaným predvolenými verejnými certifikačnými autoritami.
Akceptované hodnoty: true alebo false.

Premenné pre manuálne nasadenie

Názov Povinné Predvolená hodnota Komentár
ENV_GW_CERT_NAME ÁNO Používa sa na pripojenie s manuálnou konfiguráciou.
Názov súboru certifikátu na pripojenie k serveru SSL Router.
ENV_GW_CERT_PASSWORD ÁNO Používa sa na pripojenie s manuálnou konfiguráciou.
Heslo súboru certifikátu na pripojenie k serveru SSL Router.
ENV_SSL_ROUTER_IP ÁNO Používa sa pri pripojení s manuálnou konfiguráciou.
IP adresa alebo názov DNS komponentu SSL Router, ku ktorému sa pripojí HTML5 Gateway.
ENV_SSL_ROUTER_PORT NIE 443 Používa sa pri pripojení s manuálnou konfiguráciou.
Port komponentu SSL Router, ku ktorému sa pripojí HTML5 Gateway.

Rôzne premenné

Názov Povinné Predvolená hodnota Komentár
ENV_DISABLE_RSYSLOG NIE false Deaktivácia služby rsyslog.
Akceptované hodnoty: true alebo false.

Zväzky

Zväzok Komentár
/etc/ipdiva/ Konfiguračný zväzok komponentu HTML5 Gateway.
Odporúčame ho pripojiť k pomenovanému zväzku alebo do systému súborov hostiteľského počítača.
/opt/certificates/ Zväzok obsahujúci certifikát alebo certifikáty komponentu HTML5 Gateway pri konfigurácii bez pairingu.
/var/log/ Zväzok obsahujúci logy komponentu HTML5 Gateway.

Porty

Port Komentár
8080 Port, na ktorom počúva služba HTML5.

Nasadenie HTML5 Gateway Docker

Nasadenie pomocou pairingu

Predpoklady

Pred nasadením HTML5 Gateway Docker musíte získať token pairingu.

Nižšie opísané nasadenie použije všetky dostupné zväzky (okrem /opt/certificates/, ktorý v tomto kontexte nie je užitočný) a sprístupní všetky porty.
Zväzky sa pripoja do systému súborov hostiteľského počítača v umiestnení HTML5_GATEWAY_REP. V tomto umiestnení sa nachádzajú nasledujúce podadresáre:

  • config
  • log

Premenné pre nasledujúce príkazy môžete prispôsobiť:

Vlastná hodnota Premenná Komentár
DOCKER_NAME Názov kontajnera Docker.
HTML5_GATEWAY_REP Umiestnenie v systéme súborov, kam sa pripoja zväzky.
ENV_MEDIATION_VALUE Hodnota premennej prostredia ENV_MEDIATION.
ENV_TOKEN_VALUE Hodnota premennej prostredia ENV_TOKEN.
ENV_NO_CHECK_CERT_VALUE Hodnota premennej prostredia ENV_NO_CHECK_CERT.

Vytvorte stromovú štruktúru adresárov potrebnú na pripojenie zväzkov v systéme súborov:

1
2
mkdir -p HTML5_GATEWAY_REP/config
mkdir HTML5_GATEWAY_REP/log
1
New-Item -ItemType Directory -Force -Path "HTML5_GATEWAY_REP\config", "HTML5_GATEWAY_REP\log"

A nakoniec spustite nový kontajner:

1
2
3
4
5
6
7
8
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" \
-v "HTML5_GATEWAY_REP/config/:/etc/ipdiva/:rw" \
-v "HTML5_GATEWAY_REP/log/:/var/log/:rw" \
-p 8080:8080 \
cleanroom-html5:4.6.1-33-v2
1
2
3
4
5
6
7
8
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" `
-v "HTML5_GATEWAY_REP\config:/etc/ipdiva/:rw" `
-v "HTML5_GATEWAY_REP\log:/var/log/:rw" `
-p 8080:8080 `
cleanroom-html5:4.6.1-33-v2

Logy kontajnera môžete zobraziť pomocou nasledujúceho príkazu:

1
docker logs -f DOCKER_NAME

Manuálne nasadenie

Predpoklady

Pred nasadením HTML5 Gateway Docker musíte mať certifikát vyžadovaný pre HTML5 Gateway.

Heslá viditeľné pomocou docker inspect

Premenné prostredia kontajnera vrátane hesiel certifikátov zostávajú čitateľné pre každého, kto smie spúšťať docker inspect na serveri Docker. Preto uprednostnite nasadenie s pairingom, ktoré nepoužíva žiadne heslo certifikátu.

Nasadenie opísané nižšie použije všetky dostupné zväzky a sprístupní všetky porty.
Zväzky sa pripoja do systému súborov hostiteľského počítača v umiestnení MANUAL_REP. V tomto umiestnení sa nachádzajú tieto podadresáre:

  • config
  • log
  • certificates

Premenné pre nasledujúce príkazy môžete prispôsobiť:

Vlastná hodnota Premenná Komentár
MANUAL_NAME Názov kontajnera Docker.
MANUAL_REP Umiestnenie v systéme súborov, kam sa pripoja zväzky.
ENV_GW_CERT_NAME_VALUE Hodnota premennej prostredia ENV_GW_CERT_NAME.
ENV_SSL_ROUTER_IP_VALUE Hodnota premennej prostredia ENV_SSL_ROUTER_IP.
ENV_SSL_ROUTER_PORT_VALUE Hodnota premennej prostredia ENV_SSL_ROUTER_PORT.

Vytvorte stromovú štruktúru adresárov potrebnú na pripojenie zväzkov v systéme súborov:

1
2
3
mkdir -p MANUAL_REP/config
mkdir MANUAL_REP/log
mkdir MANUAL_REP/certificates
1
New-Item -ItemType Directory -Force -Path "MANUAL_REP\config", "MANUAL_REP\log", "MANUAL_REP\certificates"

Potom umiestnite certifikáty pre HTML5 Gateway a službu nahrávania do MANUAL_REP/certificates.

Aby sa heslá certifikátov neuchovávali v histórii shellu, zadajte ich do premenných prostredia aktuálnej relácie (zadávaný text sa nezobrazuje):

1
2
read -rsp "HTML5 Gateway certificate password: " ENV_GW_CERT_PASSWORD; echo
export ENV_GW_CERT_PASSWORD
1
$env:ENV_GW_CERT_PASSWORD = [Net.NetworkCredential]::new('', (Read-Host -AsSecureString "HTML5 Gateway certificate password")).Password

Nakoniec spustite nový kontajner:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
docker run -d --restart unless-stopped --name "MANUAL_NAME" \
-e ENV_GW_CERT_NAME="ENV_GW_CERT_NAME_VALUE" \
-e ENV_GW_CERT_PASSWORD \
-e ENV_SSL_ROUTER_IP="ENV_SSL_ROUTER_IP_VALUE" \
-e ENV_SSL_ROUTER_PORT="ENV_SSL_ROUTER_PORT_VALUE" \
-v "MANUAL_REP/config/:/etc/ipdiva/:rw" \
-v "MANUAL_REP/log/:/var/log/:rw" \
-v "MANUAL_REP/certificates/:/opt/certificates/:ro" \
-p 8080:8080 \
cleanroom-html5:4.6.1-33-v2
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
docker run -d --restart unless-stopped --name "MANUAL_NAME" `
-e "ENV_GW_CERT_NAME=ENV_GW_CERT_NAME_VALUE" `
-e ENV_GW_CERT_PASSWORD `
-e "ENV_SSL_ROUTER_IP=ENV_SSL_ROUTER_IP_VALUE" `
-e "ENV_SSL_ROUTER_PORT=ENV_SSL_ROUTER_PORT_VALUE" `
-v "MANUAL_REP\config:/etc/ipdiva/:rw" `
-v "MANUAL_REP\log:/var/log/:rw" `
-v "MANUAL_REP\certificates:/opt/certificates/:ro" `
-p 8080:8080 `
cleanroom-html5:4.6.1-33-v2

Po spustení kontajnera odoberte tieto premenné z relácie:

1
unset ENV_GW_CERT_PASSWORD
1
Remove-Item Env:ENV_GW_CERT_PASSWORD

Logy kontajnera môžete zobraziť pomocou nasledujúceho príkazu:

1
docker logs -f MANUAL_NAME

Konfigurácia služby Mediation Controller

Aby bol nový HTML5 Gateway Docker funkčný, treba ešte nakonfigurovať server Mediation Controller cez SSH alebo prístup ku konzole s povoleniami root.

Toto posledné nastavenie je potrebné, aby mohla služba Mediation Controller komunikovať so službou HTML5.
Táto konfigurácia sa však líši v závislosti od umiestnenia HTML5 Gateway Docker:

Celková schéma je takáto:

flowchart LR
    subgraph DMZ
        direction TB
        HTML5(HTML5 Gateway Docker)
        MED(Mediation Controller)
    end

    subgraph LAN
        GW(Edge Gateway)
    end


    MED -.-> |Pripojenie k službe HTML5 ; TCP 8080| HTML5
    HTML5 --> |TLS Tunnel| MED
    MED ~~~ GW
    GW --> |TLS Tunnel| MED
    GW ~~~ MED

    linkStyle 0 stroke:#d22,color;
Hold "Ctrl" to enable pan & zoom

V tomto kontexte bude potrebné pridať informácie uvedené nižšie do súboru /etc/ipdiva/httpd/commonParameters.extra.conf alebo tento súbor vytvoriť.
Nastavenia možno prispôsobiť:

Vlastná hodnota Premenná Komentár
HTML5_URL_DMZ Adresa URL nakonfigurovaná pri deklarovaní komponentu HTML5 Gateway v konzole na správu.
HTML5_IP_DMZ Názov DNS alebo IP adresa servera Docker, na ktorom je aktívny HTML5 Gateway Docker.
HTML5_PORT_DMZ Port publikovaný serverom Docker pre HTML5 Gateway Docker.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
<Location /HTML5_URL_DMZ/>
    Order allow,deny
    Allow from all
    ProxyPass http://HTML5_IP_DMZ:HTML5_PORT_DMZ/systanciaHTML5-6.0/ flushpackets=on
    ProxyPassReverse http://HTML5_IP_DMZ:HTML5_PORT_DMZ
</Location>

<Location /HTML5_URL_DMZ/websocket-tunnel>
    Order allow,deny
    Allow from all
    ProxyPass ws://HTML5_IP_DMZ:HTML5_PORT_DMZ/systanciaHTML5-6.0/websocket-tunnel
    ProxyPassReverse ws://HTML5_IP_DMZ:HTML5_PORT_DMZ/systanciaHTML5-6.0/websocket-tunnel
</Location>

Celková schéma je takáto:

flowchart LR
    subgraph DMZ
        direction TB
        MED(Mediation Controller)
    end

    subgraph LAN
        HTML5(HTML5 Gateway Docker)
        GW(Edge Gateway)
    end


    MED -.- | Pripojenie k službe HTML5 ; cez tunel TLS| GW -.-> |Pripojenie k službe HTML5 ; TCP 8080| HTML5
    HTML5 --> |TLS Tunnel| MED
    GW --> |TLS Tunnel| MED

    linkStyle 0,1 stroke:#d22,color;
Hold "Ctrl" to enable pan & zoom

V tomto kontexte bude potrebné pridať informácie uvedené nižšie do súboru /etc/ipdiva/httpd/commonParameters.extra.conf alebo tento súbor vytvoriť.
Nastavenia možno prispôsobiť:

Vlastná hodnota Premenná Komentár
HTML5_URL_LAN Adresa URL nakonfigurovaná pri deklarovaní komponentu HTML5 Gateway v konzole na správu.
GW_NAME_LAN Názov komponentu Edge Gateway použitého na pripojenie k službe HTML5. Znak zvislej čiary na konci riadka sa musí zachovať.
ORGANIZATION_NAME_LAN Názov organizácie, ku ktorej sa Edge Gateway pripája.
HTML5_IP_LAN Názov DNS alebo IP adresa servera Docker, na ktorom je aktívny HTML5 Gateway Docker.
HTML5_PORT_LAN Port publikovaný serverom Docker pre HTML5 Gateway Docker.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
<Location /HTML5_URL_LAN/>
    Order allow,deny
    Allow from all
    RequestHeader set X-Forwarded-Proto "https"
    RequestHeader set X-IPdiva-Gateway GW_NAME_LAN|
    RequestHeader set X-IPdiva-Orgname ORGANIZATION_NAME_LAN
    RequestHeader set X-IPdiva-Service HTML5_IP_LAN:HTML5_PORT_LAN

    ProxyPass http://127.0.0.1:9016/systanciaHTML5-6.0/ flushpackets=on
</Location>

<Location /HTML5_URL_LAN/websocket-tunnel>
    Order allow,deny
    Allow from all
    RequestHeader set X-Forwarded-Proto "https"
    RequestHeader set X-IPdiva-Gateway GW_NAME_LAN|
    RequestHeader set X-IPdiva-Orgname ORGANIZATION_NAME_LAN
    RequestHeader set X-IPdiva-Service HTML5_IP_LAN:HTML5_PORT_LAN

    ProxyPass ws://127.0.0.1:9016/systanciaHTML5-6.0/websocket-tunnel
</Location>

Tip

Túto konfiguráciu možno použiť aj v nasledujúcej situácii, keď komponenty Edge Gateway a HTML5 Gateway v kontajneroch Docker bežia v rovnakej sieti Docker:

flowchart LR
    subgraph DMZ
        direction TB
        MED(Mediation Controller)
    end

    subgraph LAN
        subgraph docker[Docker Server]
            HTML5([HTML5 Gateway Docker])
            GW([Edge Gateway])
        end
    end


    MED -.- | Pripojenie k službe HTML5 ; cez tunel TLS| GW -.-> |Pripojenie k službe HTML5 ; TCP 8080 cez sieť Docker| HTML5
    HTML5 --> |TLS Tunnel| MED
    GW --> |TLS Tunnel| MED

    linkStyle 0,1 stroke:#d22,color;
Hold "Ctrl" to enable pan & zoom
Príklad

V tomto príklade nasadíme Edge Gateway a HTML5 Gateway na rovnaký server Docker.

Infraštruktúra použitá v príklade je takáto:

  • Server Mediation Controller
    • Webová IP adresa: 10.0.10.10
    • Názov organizácie: my-organization-name
    • Token pre Edge Gateway: YJ5N-JN05-N5LS-N26H-7JHA-HZ9R-BGJF-MAVH
    • Token pre HTML5 Gateway: ATCW-OMVR-0RY4-LW1M-D9G9-H5VF-WPX5-YCXF
    • Adresa URL na prístup k službe HTML5: HTML5_DOCKER
  • Server Docker
    • Názov siete Docker: cyberelements-cleanroom-network
    • Edge Gateway
      • Názov: my-edge-gateway-docker
      • Koreňové umiestnenie v systéme súborov: /opt/my-edge-gateway-docker
    • HTML5 Gateway
      • Názov: my-html5-gateway-docker
      • Koreňové umiestnenie v systéme súborov: /opt/my-html5-gateway-docker

Najprv musíte na serveri Docker vytvoriť adresárovú štruktúru na pripojenie zväzkov Docker:

1
2
3
4
5
6
mkdir -p /opt/my-edge-gateway-docker/config
mkdir /opt/my-edge-gateway-docker/graphical_archives
mkdir /opt/my-edge-gateway-docker/ssh_archives
mkdir /opt/my-edge-gateway-docker/log
mkdir -p /opt/my-html5-gateway-docker/config
mkdir /opt/my-html5-gateway-docker/log

Potom vytvorte sieť Docker typu bridge, aby spolu mohli oba kontajnery komunikovať:

1
docker network create -d bridge cyberelements-cleanroom-network

Ďalej spustite kontajner Edge Gateway. Upozorňujeme, že v príklade sa pripojenie nadväzuje pomocou pairingu s prístupom k serveru Mediation Controller cez jeho IP adresu a bez pridanej kontroly certifikátu. Okrem toho sa pridáva parameter --network, ktorý určuje použitie predtým vytvorenej siete Docker:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
docker run -d --restart unless-stopped --name "my-edge-gateway-docker" \
-e ENV_MEDIATION="10.0.10.10" \
-e ENV_TOKEN="YJ5N-JN05-N5LS-N26H-7JHA-HZ9R-BGJF-MAVH" \
-e ENV_NO_CHECK_CERT="true" \
-v "/opt/my-edge-gateway-docker/config/:/etc/ipdiva/:rw" \
-v "/opt/my-edge-gateway-docker/graphical_archives/:/var/lib/ipdiva/carerecord/archives/:rw" \
-v "/opt/my-edge-gateway-docker/ssh_archives/:/var/ipdiva/care/sshrecord/:rw" \
-v "/opt/my-edge-gateway-docker/log/:/var/log/:rw" \
-p 2222:2222 \
-p 3389:3389 \
-p 8443:8443 \
--network="cyberelements-cleanroom-network" \
cleanroom-gateway:4.6.1-33-v2

Ďalej spustite kontajner HTML5 Gateway. Upozorňujeme, že v príklade sa pripojenie nadväzuje pomocou pairingu s prístupom k serveru Mediation Controller cez jeho IP adresu a bez pridanej kontroly certifikátu. Okrem toho sa pridáva parameter --network, ktorý určuje použitie predtým vytvorenej siete Docker, a keďže prístup k službe HTML5 bude prechádzať cez sieť Docker, publikovanie portu 8080 nie je potrebné:

1
2
3
4
5
6
7
8
docker run -d --restart unless-stopped --name "my-html5-gateway-docker" \
-e ENV_MEDIATION="10.0.10.10" \
-e ENV_TOKEN="ATCW-OMVR-0RY4-LW1M-D9G9-H5VF-WPX5-YCXF" \
-e ENV_NO_CHECK_CERT="true" \
-v "/opt/my-html5-gateway-docker/config/:/etc/ipdiva/:rw" \
-v "/opt/my-html5-gateway-docker/log/:/var/log/:rw" \
--network="cyberelements-cleanroom-network" \
cleanroom-html5:4.6.1-33-v2

Nakoniec treba nakonfigurovať súbor /etc/ipdiva/httpd/commonParameters.extra.conf na serveri alebo serveroch Mediation Controller. Treba pridať nasledujúci blok:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
<Location /HTML5_DOCKER/>
    Order allow,deny
    Allow from all
    RequestHeader set X-Forwarded-Proto "https"
    RequestHeader set X-IPdiva-Gateway my-edge-gateway-docker|
    RequestHeader set X-IPdiva-Orgname my-organization-name
    RequestHeader set X-IPdiva-Service my-html5-gateway-docker:8080

    ProxyPass http://127.0.0.1:9016/systanciaHTML5-6.0/ flushpackets=on
</Location>

<Location /HTML5_DOCKER/websocket-tunnel>
    Order allow,deny
    Allow from all
    RequestHeader set X-Forwarded-Proto "https"
    RequestHeader set X-IPdiva-Gateway my-edge-gateway-docker|
    RequestHeader set X-IPdiva-Orgname my-organization-name
    RequestHeader set X-IPdiva-Service my-html5-gateway-docker:8080

    ProxyPass ws://127.0.0.1:9016/systanciaHTML5-6.0/websocket-tunnel
</Location>

Pred použitím nových nastavení musíte skontrolovať, či nová konfigurácia nespôsobuje žiadne blokujúce chyby webového servera Apache2.
Ak to chcete urobiť, spustite nasledujúci príkaz:

1
apache2ctl configtest

Ak je výsledkom Syntax OK, zmeny možno použiť príkazom nižšie. V opačnom prípade skontrolujte konfiguráciu svojho súboru /etc/ipdiva/httpd/commonParameters.extra.conf.

1
systemctl reload apache2