version: '3' services: zigbee_home_2: container_name: zigbee_home_2 networks: - backend image: koenkk/zigbee2mqtt:1.18.1 restart: always volumes: - ./zigbee_home_2:/app/data - ./zigbee_home_2/configuration_home_2.yaml:/app/data/configuration.yaml devices: - /dev/ttyUSB-zigbee_home_2:/dev/ttyACM0 environment: - UID=1000 - GID=1000 - TZ=Europe/Stockholm labels: - "traefik.enable=true" - "traefik.http.services.zighome-service.loadBalancer.server.port=8080" - "traefik.http.routers.zighome-secure.entrypoints=web-secure" - "traefik.http.routers.zighome-secure.rule=Host(`zig2.${DOMAIN}`)" - "traefik.http.routers.zighome-secure.tls.certresolver=milvert" - "traefik.http.routers.zighome-secure.middlewares=auth@file" - "traefik.http.routers.zighome-secure.tls=true" zigbee2mqtt: container_name: zigbee2mqtt networks: - backend image: koenkk/zigbee2mqtt:1.18.1 restart: always volumes: - ${DIR}/zigbee2matt:/app/data - ./zigbee2mqtt/configuration.yaml:/app/data/configuration.yaml - ${DIR}/zigbee2mqtt_node_log:/root/.npm devices: - /dev/ttyACM1:/dev/ttyACM0 environment: - UID=1000 - GID=1000 - TZ=Europe/Stockholm labels: - "traefik.enable=true" - "traefik.http.services.zig1-service.loadBalancer.server.port=8081" - "traefik.http.routers.zig1-secure.entrypoints=web-secure" - "traefik.http.routers.zig1-secure.rule=Host(`zig1.${DOMAIN}`)" - "traefik.http.routers.zig1-secure.tls.certresolver=milvert" - "traefik.http.routers.zig1-secure.middlewares=auth@file" - "traefik.http.routers.zig1-secure.tls=true" grafana: image: grafana/grafana:7.4.3 container_name: grafana restart: always networks: - backend volumes: # Data persistency # sudo mkdir -p /srv/docker/grafana/data; chown 472:472 /srv/docker/grafana/data - "${DIR}/grafana:/var/lib/grafana" labels: - "traefik.enable=true" - "traefik.http.routers.grafana-secure.entrypoints=web-secure" - "traefik.http.routers.grafana-secure.rule=Host(`data.${DOMAIN}`)" - "traefik.http.routers.grafana-secure.tls.certresolver=milvert" - "traefik.http.routers.grafana-secure.tls=true" influx: image: influxdb:1.8 container_name: influxdb networks: - backend - frontend restart: always ports: - "8087:80" volumes: - ${DIR}/influx-data:/var/lib/influxdb environment: - INFLUXDB_DB=db0 - INFLUXDB_ADMIN_USER=${INFLUX_ADMIN} - INFLUXDB_ADMIN_PASSWORD=${INFLUX_ADMIN_PASSWORD} labels: - "traefik.enable=true" - "traefik.http.services.influx-service.loadBalancer.server.port=8086" - "traefik.http.routers.influx.entryPoints=influx" - "traefik.http.routers.influx-secure.rule=host(`influx.${DOMAIN}`)" chronograf: image: chronograf:latest container_name: chronograf networks: - backend volumes: - ${DIR}/chronograf:/var/lib/chronograf depends_on: - influx environment: - INFLUXDB_URL=http://influxdb:8086 - INFLUXDB_USERNAME=${INFLUX_ADMIN} - INFLUXDB_PASSWORD=${INFLUX_ADMIN_PASSWORD} labels: - "traefik.enable=true" - "traefik.http.services.chrongraf-service.loadBalancer.server.port=8888" - "traefik.http.routers.chrongraf-secure.entryPoints=web-secure" - "traefik.http.routers.chrongraf-secure.rule=host(`chrono.${DOMAIN}`)" - "traefik.http.routers.chrongraf-secure.tls.certresolver=milvert" - "traefik.http.routers.chrongraf-secure.tls=true" gitea: image: gitea/gitea:1.13 container_name: gitea networks: - backend restart: always environment: - USER_UID=1001 - USER_GID=1005 volumes: #- /var/lib/gitea:/data - ${DIR}/gitea:/data - /home/git/.ssh:/data/git/.ssh - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: - "127.0.0.1:2222:22" - "3000:3000" labels: - "traefik.enable=true" - "traefik.http.services.gitea-service.loadbalancer.server.port=3000" - "traefik.http.routers.gitea-secure.entrypoints=web-secure" - "traefik.http.routers.gitea-secure.rule=Host(`gitea.${DOMAIN}`)" - "traefik.http.routers.gitea-secure.tls.certresolver=milvert" - "traefik.http.routers.gitea-secure.tls=true" mqtt: image: eclipse-mosquitto:1.6.13 container_name: mqtt networks: - frontend - backend restart: always ports: - "1883:1883" - "9001:9001" environment: - PUID=1000 - PGID=1000 - TZ=Europe/Stockholm volumes: - ./mosquitto/mosquitto.conf:/mqtt/mosquitto.conf - ${DIR}/mqtt/data:/mqtt/data - ${DIR}/mqtt/log:/mqtt/log labels: - "traefik.http.routers.mqtt.rule=Host(`mqtt.${DOMAIN}`)" - "traefik.http.routers.mqtt.entrypoints=mqtt" - "traefik.http.services.mqtt-service.loadbalancer.server.port=9001" - "traefik.enable=true" networks: frontend: external: true backend: external: false