diff --git a/docker-compose.yml b/docker-compose.yml index 343934a..fccff84 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,9 +1,26 @@ version: '3' services: + + zigbee2mqtt: + container_name: zigbee2mqtt + networks: + - frontend + - backend + image: koenkk/zigbee2mqtt:1.6.0 + volumes: + - ${DIR}/zigbee2matt:/app/data + devices: + - /dev/ttyACM0:/dev/ttyACM0 + restart: always + environment: + - TZ=Europe/Stockholm + grafana: - image: grafana/grafana:latest + image: grafana/grafana:6.4.2 container_name: grafana + networks: + - backend volumes: # Data persistency # sudo mkdir -p /srv/docker/grafana/data; chown 472:472 /srv/docker/grafana/data @@ -14,10 +31,31 @@ services: - "traefik.http.routers.grafana.entrypoints=web" - "traefik.http.services.grafana-service.loadbalancer.server.port=3000" + influx: + image: influxdb:1.7 + container_name: influxdb + networks: + - backend + labels: + - "traefik.http.routers.influx.entryPoints=port8086" + - "traefik.http.routers.influx.rule=host(`influx.localhost`)" + - "traefik.http.services.influx-service.loadBalancer.server.port=8086" + restart: always + volumes: + - ${DIR}/influx-data:/var/lib/influxdb + environment: + - INFLUXDB_DB=SOME_DB_NAME # set any other to create database on initialization + - INFLUXDB_HTTP_ENABLED=true + - INFLUXDB_HTTP_AUTH_ENABLED=true + + - INFLUXDB_ADMIN_USER=SECURE_USERNAME + - INFLUXDB_ADMIN_PASSWORD=SECURE_PASS gitea: - image: gitea/gitea:latest + image: gitea/gitea:1.9.3 container_name: gitea + networks: + - backend restart: always environment: - USER_UID=1000 @@ -36,14 +74,20 @@ services: whoami: # A container that exposes an API to show its IP address image: containous/whoami + networks: + - backend labels: - "traefik.enable=true" - "traefik.http.routers.whoami.rule=Host(`whoami.localhost`)" - "traefik.http.routers.whoami.entrypoints=web" mqtt: - image: eclipse-mosquitto + image: eclipse-mosquitto:1.6.7 container_name: mqtt + networks: + - frontend + - backend + ports: - "1885:1883" - "9001:9001" @@ -60,6 +104,8 @@ services: node-red: image: nodered/node-red:latest container_name: "node-red" + networks: + - backend environment: - TZ=Europe/Stockholm ports: @@ -78,6 +124,8 @@ services: domoticz: image: linuxserver/domoticz container_name: domoticz + networks: + - backend environment: - PUID=1000 - PGID=1000 @@ -99,8 +147,11 @@ services: reverse-proxy: # The official v2.0 Traefik docker image - image: traefik:v2.0 + image: traefik:v2.0.2 container_name: "traefik" + networks: + - backend + - frontend ports: # The HTTP port - "80:80" @@ -115,3 +166,10 @@ services: - "traefik.http.routers.traefik.entrypoints=web" - "traefik.http.services.traefik-service.loadbalancer.server.port=8080" - "traefik.enable=true" + +networks: + frontend: + external: true + backend: + external: false +