Docker/docker-compose.service.yml

147 lines
4.1 KiB
YAML

version: '3'
services:
zigbee_home_2:
container_name: zigbee_home_2
networks:
- backend
image: koenkk/zigbee2mqtt:1.15.0
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
zigbee2mqtt:
container_name: zigbee2mqtt
networks:
- backend
image: koenkk/zigbee2mqtt:1.15.0
volumes:
- ${DIR}/zigbee2matt:/app/data
- ${DIR}/zigbee2mqtt_node_log:/root/.npm
devices:
- /dev/ttyACM1:/dev/ttyACM0
environment:
- UID=1000
- GID=1000
- TZ=Europe/Stockholm
grafana:
image: grafana/grafana:7.3.1
container_name: grafana
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
restart: always
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.12
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.10
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