Vi bruker Docker Compose for å kjøre de forskjellige tjenestene som utgjør Evolo Gateway.
Når du kjører Gateway med Docker installeres tre tjenester:
- Gateway-programvaren
- InfluxDB (tidsserie-database som lagrer logger)
- Watchtower (tjeneste som oppdaterer Gateway-programvare automatisk)
docker-compose.yaml filen er oppskriften og forteller Docker hvilke tjenester som skal kjøres.
Hvis du ønsker å kjøre flere Evolo Gateway på samme tjener må du legge til flere tjenester i oppskriften.
I eksempelet ser du at jeg har lagt til en ny gateway "evolo-gateway-new". Forskjellene er navngivning av konfig-filer og databaser. Det har også blitt definert et eget volum under "volumes" for å lagre konfigurasjon.
Siden gateway bruker port 8080 til å vise frem nøkkelen for registrering kan vi bruke en unik port på utsiden og peke denne til port 8080 på innsiden av containeren.
Definisjonen ports: - '4000:8080' gjør at når du kobler til tjenerens IP-adresse på port 4000 vil docker omdirigere den til 8080 på innsiden av gateway containeren.
Eksempel docker-compose.yaml med flere Gateway
version: '2'
volumes:
evolo-gateway:
evolo-gateway-new:
influxdb:
services:
influx:
image: heaven.evolo.no/influxdb:latest
container_name: influxdb-evolo
restart: always
hostname: influxdb
volumes:
- influxdb:/var/lib/influxdb
watchtower:
image: containrrr/watchtower
container_name: watchtower
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock
evolo-gateway:
image: heaven.evolo.no/evolo-gateway:latest
container_name: evolo-gateway
restart: always
depends_on:
- influx
ports:
- '4000:8080'
volumes:
- evolo-gateway/root/.config/configstore
environment:
- INFLUX_IP=influx
- INFLUX_PORT=8086
- INFLUX_DATABASE=evolo-gateway
- TZ=Europe/Oslo
evolo-gateway-new:
image: heaven.evolo.no/evolo-gateway:latest
container_name: evolo-gateway-new
restart: always
depends_on:
- influx
ports:
- '4001:8080'
volumes:
- evolo-gateway-new:/root/.config/configstore
environment:
- INFLUX_IP=influx
- INFLUX_PORT=8086
- INFLUX_DATABASE=evolo-gateway-new
- TZ=Europe/Oslo
Hvis tjeneren du bruker har IP-adresse 10.10.10.10 kan du hente ut nøkkel for registrering av "evolo-gateway" fra 10.10.10.10:4000 og "evolo-gateway-new" fra 10.10.10.10:4001