Preskoči na sadržaj

Instalacija komponente HTML5 Gateway Docker

Uvoz slike Docker

Prije nego što možete stvoriti spremnik HTML5 Gateway Docker, morate uvesti sliku Docker. Da biste to učinili, pokrenite ljusku u kojoj su vam dostupne naredbe Docker, kao i datoteka cleanroom-html5-4.6.1-33-v2.tgz. U ljusci pokrenite sljedeću naredbu i prilagodite put do datoteke TGZ ako se ona ne nalazi u trenutačnom direktoriju:

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

Zatim sljedećom naredbom provjerite je li uvoz uspio:

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

Očekivani izlaz je sljedeći. Ako nije takav, uvoz nije uspio:

1
2
3
4
5
6
[
    {
        "Id": "sha256:16ae07f1604409f6b092a8a2944e69b3db458a04dbbab6ffc3f945c253c82cee",
        "RepoTags": [
            "cleanroom-html5:4.6.1-33-v2"
        ],
Potpuni izlaz
 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": ""
        }
    }
]

Konfiguracija spremnika

Varijable okruženja

Varijable za implementaciju putem pairinga

Naziv Obavezno Zadana vrijednost Komentar
ENV_MEDIATION DA Koristi se za povezivanje putem pairinga.
Navodi DNS naziv ili IP adresu za povezivanje s web-sučeljem platforme CyberElements Bastion.
ENV_TOKEN DA Koristi se za povezivanje putem pairinga.
Navodi token pairinga koji se koristi za povezivanje s uslugom Mediation Controller.
ENV_NO_CHECK_CERT NE false Koristi se za povezivanje putem pairinga.
Određuje treba li onemogućiti provjeru web-certifikata usluge Mediation Controller; korisno uz CyberElements Bastion pri pristupu putem IP adrese ili kada web-certifikat nije certifikat koji prepoznaju zadana javna certifikacijska tijela.
Prihvaćene vrijednosti: true ili false.

Varijable za ručnu implementaciju

Naziv Obavezno Zadana vrijednost Komentar
ENV_GW_CERT_NAME DA Koristi se za povezivanje s ručnom konfiguracijom.
Naziv datoteke certifikata za povezivanje s komponentom SSL Router.
ENV_GW_CERT_PASSWORD DA Koristi se za povezivanje s ručnom konfiguracijom.
Lozinka datoteke certifikata za povezivanje s komponentom SSL Router.
ENV_SSL_ROUTER_IP DA Koristi se za povezivanje s ručnom konfiguracijom.
IP adresa ili DNS naziv komponente SSL Router s kojom će se povezati komponenta HTML5 Gateway.
ENV_SSL_ROUTER_PORT NE 443 Koristi se za povezivanje s ručnom konfiguracijom.
Priključak komponente SSL Router s kojom će se povezati komponenta HTML5 Gateway.

Razne varijable

Naziv Obavezno Zadana vrijednost Komentar
ENV_DISABLE_RSYSLOG NE false Deaktivacija usluge rsyslog.
Prihvaćene vrijednosti: true ili false.

Volumeni

Volumen Komentar
/etc/ipdiva/ Volumen za konfiguraciju komponente HTML5 Gateway.
Preporučujemo da ga montirate na imenovani volumen ili u datotečni sustav računala hosta.
/opt/certificates/ Volumen koji sadrži certifikat ili certifikate komponente HTML5 Gateway pri konfiguraciji bez pairinga.
/var/log/ Volumen koji sadrži zapisnike komponente HTML5 Gateway.

Priključci

Priključak Komentar
8080 Priključak za osluškivanje usluge HTML5.

Implementacija komponente HTML5 Gateway Docker

Implementacija s pairingom

Preduvjeti

Prije implementacije komponente HTML5 Gateway Docker morate dobiti token pairinga.

Implementacija opisana u nastavku koristit će sve dostupne volumene (osim volumena /opt/certificates/, koji u ovom kontekstu nije koristan) i izložiti sve priključke.
Volumeni će se montirati u datotečni sustav računala hosta na lokaciji HTML5_GATEWAY_REP. Unutar te lokacije nalaze se sljedeći poddirektoriji:

  • config
  • log

Varijable za sljedeće naredbe možete prilagoditi:

Prilagođena vrijednost Varijabla Komentar
DOCKER_NAME Naziv spremnika Docker.
HTML5_GATEWAY_REP Lokacija u datotečnom sustavu na kojoj će se montirati volumeni.
ENV_MEDIATION_VALUE Vrijednost varijable okruženja ENV_MEDIATION.
ENV_TOKEN_VALUE Vrijednost varijable okruženja ENV_TOKEN.
ENV_NO_CHECK_CERT_VALUE Vrijednost varijable okruženja ENV_NO_CHECK_CERT.

Izradite stablo direktorija potrebno za montiranje volumena na datotečni sustav:

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"

Na kraju pokrenite novi spremnik:

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

Zapisnike spremnika možete prikazati sljedećom naredbom:

1
docker logs -f DOCKER_NAME

Ručna implementacija

Preduvjeti

Prije implementacije komponente HTML5 Gateway Docker morate imati certifikat potreban za komponentu HTML5 Gateway.

Lozinke vidljive naredbom docker inspect

Varijable okruženja spremnika, uključujući lozinke certifikata, ostaju čitljive svakome kome je dopušteno pokretati docker inspect na Docker poslužitelju. Stoga je bolje odabrati implementaciju s pairingom, koja ne koristi lozinku certifikata.

Implementacija opisana u nastavku koristit će sve dostupne volumene i izložiti sve priključke.
Volumeni će se montirati u datotečni sustav računala hosta na lokaciji MANUAL_REP. Na toj se lokaciji nalaze sljedeće podmape:

  • config
  • log
  • certificates

Varijable za sljedeće naredbe možete prilagoditi:

Prilagođena vrijednost Varijabla Komentar
MANUAL_NAME Naziv Docker spremnika.
MANUAL_REP Lokacija u datotečnom sustavu na koju se montiraju volumeni.
ENV_GW_CERT_NAME_VALUE Vrijednost varijable okruženja ENV_GW_CERT_NAME.
ENV_SSL_ROUTER_IP_VALUE Vrijednost varijable okruženja ENV_SSL_ROUTER_IP.
ENV_SSL_ROUTER_PORT_VALUE Vrijednost varijable okruženja ENV_SSL_ROUTER_PORT.

Izradite stablo direktorija potrebno za montiranje volumena na datotečni sustav:

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"

Zatim certifikate za komponentu HTML5 Gateway i uslugu snimanja stavite u MANUAL_REP/certificates.

Kako lozinke certifikata ne bi ostale u povijesti ljuske, unesite ih u varijable okruženja trenutačne sesije (unos se ne prikazuje):

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

Na kraju pokrenite novi spremnik:

 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

Nakon pokretanja spremnika uklonite te varijable iz sesije:

1
unset ENV_GW_CERT_PASSWORD
1
Remove-Item Env:ENV_GW_CERT_PASSWORD

Zapisnike spremnika možete prikazati sljedećom naredbom:

1
docker logs -f MANUAL_NAME

Konfiguracija usluge Mediation Controller

Da bi nova komponenta HTML5 Gateway Docker bila funkcionalna, još je potrebno konfigurirati poslužitelj Mediation Controller putem pristupa SSH ili konzoli uz dozvole root.

Ta je posljednja postavka potrebna kako bi usluga Mediation Controller mogla komunicirati s uslugom HTML5.
No ta konfiguracija ovisi o lokaciji komponente HTML5 Gateway Docker:

Opći dijagram izgleda ovako:

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

    subgraph LAN
        GW(Edge Gateway)
    end


    MED -.-> |Veza s uslugom 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

U tom kontekstu bit će potrebno dodati informacije navedene u nastavku u datoteku /etc/ipdiva/httpd/commonParameters.extra.conf ili je stvoriti.
Postavke je moguće prilagoditi:

Prilagođena vrijednost Varijabla Komentar
HTML5_URL_DMZ URL konfiguriran prilikom deklariranja komponente HTML5 Gateway u administratorskoj konzoli.
HTML5_IP_DMZ DNS naziv ili IP adresa poslužitelja Docker na kojem je aktivna komponenta HTML5 Gateway Docker.
HTML5_PORT_DMZ Priključak koji poslužitelj Docker objavljuje za komponentu 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>

Opći dijagram izgleda ovako:

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

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


    MED -.- | Veza s uslugom HTML5 ; kroz tunel TLS| GW -.-> |Veza s uslugom HTML5 ; TCP 8080| HTML5
    HTML5 --> |TLS Tunnel| MED
    GW --> |TLS Tunnel| MED

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

U tom kontekstu bit će potrebno dodati informacije navedene u nastavku u datoteku /etc/ipdiva/httpd/commonParameters.extra.conf ili je stvoriti.
Postavke je moguće prilagoditi:

Prilagođena vrijednost Varijabla Komentar
HTML5_URL_LAN URL konfiguriran prilikom deklariranja komponente HTML5 Gateway u administratorskoj konzoli.
GW_NAME_LAN Naziv komponente Edge Gateway koja se koristi za povezivanje s uslugom HTML5. Znak okomite crte na kraju retka mora se zadržati.
ORGANIZATION_NAME_LAN Naziv organizacije s kojom se povezuje komponenta Edge Gateway.
HTML5_IP_LAN DNS naziv ili IP adresa poslužitelja Docker na kojem je aktivna komponenta HTML5 Gateway Docker.
HTML5_PORT_LAN Priključak koji poslužitelj Docker objavljuje za komponentu 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>

Savjet

Ova se konfiguracija može upotrijebiti i u sljedećoj situaciji, u kojoj se komponente Edge Gateway Docker i HTML5 Gateway Docker izvode u istoj mreži 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 -.- | Veza s uslugom HTML5 ; kroz tunel TLS| GW -.-> |Veza s uslugom HTML5 ; TCP 8080 kroz mrežu Docker| HTML5
    HTML5 --> |TLS Tunnel| MED
    GW --> |TLS Tunnel| MED

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

U ovom ćemo primjeru implementirati komponente Edge Gateway i HTML5 Gateway na istom poslužitelju Docker.

Infrastruktura upotrijebljena za primjer je sljedeća:

  • Poslužitelj Mediation Controller
    • Web IP adresa: 10.0.10.10
    • Naziv organizacije: my-organization-name
    • Token za Edge Gateway: YJ5N-JN05-N5LS-N26H-7JHA-HZ9R-BGJF-MAVH
    • Token za HTML5 Gateway: ATCW-OMVR-0RY4-LW1M-D9G9-H5VF-WPX5-YCXF
    • URL za pristup usluzi HTML5: HTML5_DOCKER
  • Poslužitelj Docker
    • Naziv mreže Docker: cyberelements-cleanroom-network
    • Edge Gateway
      • Naziv: my-edge-gateway-docker
      • Korijenska lokacija u datotečnom sustavu: /opt/my-edge-gateway-docker
    • HTML5 Gateway
      • Naziv: my-html5-gateway-docker
      • Korijenska lokacija u datotečnom sustavu: /opt/my-html5-gateway-docker

Najprije na poslužitelju Docker morate stvoriti strukturu direktorija za montiranje volumena 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

Zatim stvorite mrežu Docker vrste bridge kako bi dva spremnika mogla međusobno komunicirati:

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

Zatim pokrenite spremnik Edge Gateway. Imajte na umu da se u primjeru veza uspostavlja putem pairinga, uz pristup usluzi Mediation Controller putem njezine IP adrese i bez dodane provjere certifikata. Osim toga, dodan je parametar --network kojim se navodi upotreba prethodno stvorene mreže 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

Zatim pokrenite spremnik HTML5 Gateway. Imajte na umu da se u primjeru veza uspostavlja putem pairinga, uz pristup usluzi Mediation Controller putem njezine IP adrese i bez dodane provjere certifikata. Osim toga, dodan je parametar --network kojim se navodi upotreba prethodno stvorene mreže Docker, a budući da će pristup usluzi HTML5 ići kroz mrežu Docker, objavljivanje priključka 8080 nije potrebno:

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

Na kraju je potrebno konfigurirati datoteku /etc/ipdiva/httpd/commonParameters.extra.conf na poslužitelju ili poslužiteljima Mediation Controller. Treba dodati sljedeći odjeljak:

 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>

Prije primjene novih postavki morate provjeriti da nova konfiguracija ne uzrokuje blokirajuće pogreške za web-poslužitelj Apache2.
Da biste to učinili, pokrenite sljedeću naredbu:

1
apache2ctl configtest

Ako je povratna vrijednost Syntax OK, promjene se mogu primijeniti naredbom u nastavku. U suprotnom provjerite konfiguraciju datoteke /etc/ipdiva/httpd/commonParameters.extra.conf.

1
systemctl reload apache2