Estructura Docker-Compose

Esta es mi ultima configuracion de contenedores en Docker-Compose

version: "3.6"
services:

  portainer:
    image: portainer/portainer
    container_name: portainer
    restart: always
    command: -H unix:///var/run/docker.sock
    ports:
      - "9000:9000"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /srv/homeautomation/portainer/data:/data
      - /srv/homeautomation/shared:/shared
    environment:
      - TZ=${TZ}
    networks:
      - traefik
    labels:
      - "traefik.enable=true"
      - "traefik.backend=portainer"
      - "traefik.frontend.rule=Host:portainer.anderaan.synology.me"
      - "traefik.port=9000"
      - "traefik.docker.network=traefik"
      - "traefik.frontend.headers.SSLRedirect=true"
      - "traefik.frontend.headers.STSSeconds=315360000"
      - "traefik.frontend.headers.browserXSSFilter=true"
      - "traefik.frontend.headers.contentTypeNosniff=true"
      - "traefik.frontend.headers.forceSTSHeader=true"
      - "traefik.frontend.headers.SSLHost=anderaan.synology.me"
      - "traefik.frontend.headers.STSIncludeSubdomains=true"
      - "traefik.frontend.headers.STSPreload=true"
      - "traefik.frontend.headers.customFrameOptionsValue: allow-from https:anderaan.synology.me"
  mosquitto:
    container_name: mosquitto
    restart: always
    image: eclipse-mosquitto
    volumes:
      - /srv/homeautomation/mosquitto/mosquitto.conf:/mosquitto/config/mosquitto.conf
      - /srv/homeautomation/mosquitto/log:/mosquitto/log
      - /srv/homeautomation/mosquitto/data:/mosquitto/data
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "1883:1883"
      - "9001:9001"
  homeassistant:
    container_name: homeassistant
    restart: always
    image: homeassistant/home-assistant:stable
    devices:
      - /dev/ttyUSB0:/dev/ttyUSB0
      - /dev/ttyUSB1:/dev/ttyUSB1
      - /dev/ttyACM0:/dev/ttyACM0
    volumes:
      - /srv/homeautomation/hass-config:/config
      - /etc/localtime:/etc/localtime:ro
      - /srv/homeautomation/shared:/shared
      - /dev/serial/by-id/:/dev/serial/by-id/
    ports:
      - "8123:8123"
    network_mode: host
    depends_on:
      - mosquitto
      - mariadb
    privileged: true
    environment:
      - PUID=${PUID}
      - PGID=${PGID}
      - TZ=${TZ}
  hadockermon:
    container_name: hadockermon
    restart: always
    image: philhawthorne/ha-dockermon
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /srv/homeautomation/hadockermon:/config
    ports:
      - 8126:8126
    environment:
      - TZ=${TZ}
  zigbee2mqtt:
    container_name: zigbee2mqtt
    image: koenkk/zigbee2mqtt:latest
    volumes:
      - /srv/homeautomation/zigbee2mqtt/data:/app/data
    devices:
      - /dev/ttyACM0:/dev/ttyACM0
    restart: always
    network_mode: host
    environment:
      - TZ=Europe/Amsterdam
  grafana:
    image: grafana/grafana
    container_name: grafana
    volumes:
      - /srv/homeautomation/grafana:/var/lib/grafana
    networks:
      - docker_default
      - traefik
    labels:
      - "traefik.enable=true"
      - "traefik.backend=grafana"
      - "traefik.frontend.rule=Host:grafana.anderaan.synology.me"
      - "traefik.port=3000"
      - "traefik.docker.network=traefik"
      - "traefik.frontend.headers.SSLRedirect=true"
      - "traefik.frontend.headers.STSSeconds=315360000"
      - "traefik.frontend.headers.browserXSSFilter=true"
      - "traefik.frontend.headers.contentTypeNosniff=true"
      - "traefik.frontend.headers.forceSTSHeader=true"
      - "traefik.frontend.headers.SSLHost=anderaan.synology.me"
      - "traefik.frontend.headers.STSIncludeSubdomains=true"
      - "traefik.frontend.headers.STSPreload=true"
      - "traefik.frontend.headers.customFrameOptionsValue: allow-from https:anderaan.synology.me"
    environment:
      - TZ=Europe/Amsterdam
    ports:
      - 3000:3000
    restart: always
    user: "1001:1001"
  influxdb:
    image: influxdb:latest
    container_name: influxdb
    environment:
      - TZ=Europe/Amsterdam
    network_mode: host
    ports:   
      - 8086:8086
      - 8082:8082
    restart: always
    volumes:
      - /srv/homeautomation/influxdb/config/:/etc/influxdb/
      - /srv/homeautomation/influxdb/data:/var/lib/influxdb
  heimdall:
    image: linuxserver/heimdall
    container_name: heimdall
    environment:
      - PUID=${PUID}
      - PGID=${PGID}
      - TZ=${TZ}
    networks:
      - traefik
    labels:
      - "traefik.enable=true"
      - "traefik.backend=heimdall"
      - "traefik.frontend.rule=Host:heimdall.anderaan.synology.me"
      - "traefik.port=3001"
      - "traefik.docker.network=traefik"
      - "traefik.frontend.headers.SSLRedirect=true"
      - "traefik.frontend.headers.STSSeconds=315360000"
      - "traefik.frontend.headers.browserXSSFilter=true"
      - "traefik.frontend.headers.contentTypeNosniff=true"
      - "traefik.frontend.headers.forceSTSHeader=true"
      - "traefik.frontend.headers.SSLHost=anderaan.synology.me"
      - "traefik.frontend.headers.STSIncludeSubdomains=true"
      - "traefik.frontend.headers.STSPreload=true"
      - "traefik.frontend.headers.customFrameOptionsValue: allow-from https:anderaan.synology.me"
    volumes:
      - /srv/homeautomation/heimdall/config:/config
    ports:
      - 3001:80
      - 449:443
    restart: always
  chronograf:
    container_name: chronograf
    image: chronograf:latest
    volumes:
      - /srv/homeautomation/chronograf/data/:/var/lib/chronograf/
    ports:
      - "8888:8888"
    networks:
      - docker_default
      - traefik
    labels:
      - "traefik.enable=true"
      - "traefik.backend=chronograf"
      - "traefik.frontend.rule=Host:chronograf.anderaan.synology.me"
      - "traefik.port=8888"
      - "traefik.docker.network=traefik"
      - "traefik.frontend.headers.SSLRedirect=true"
      - "traefik.frontend.headers.STSSeconds=315360000"
      - "traefik.frontend.headers.browserXSSFilter=true"
      - "traefik.frontend.headers.contentTypeNosniff=true"
      - "traefik.frontend.headers.forceSTSHeader=true"
      - "traefik.frontend.headers.SSLHost=anderaan.synology.me"
      - "traefik.frontend.headers.STSIncludeSubdomains=true"
      - "traefik.frontend.headers.STSPreload=true"
      - "traefik.frontend.headers.customFrameOptionsValue: allow-from https:anderaan.synology.me"
    restart: always
    depends_on:
      - influxdb
    entrypoint:
      - chronograf
      - --influxdb-url=http://192.168.1.142:8086
  esphome:
    container_name: esphome
    image: esphome/esphome:dev
    environment:
      - TZ=${TZ}
    network_mode: host
    devices:
      - /dev/ttyUSB0:/dev/ttyUSB0
    ports:
      - 6052:6052
      - 6123:6123
    restart: always
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /srv/homeautomation/esphome:/config
    command: config/ dashboard
  mariadb:
    container_name: mariadb
    image: mariadb
    restart: always
    ports:
      - "3306:3306"
    volumes:
      - /srv/homeautomation/mariadb:/etc/mysql/conf.d
      - /srv/homeautomation/mariadb:/var/lib/mysql
    environment:
      TZ: ${TZ}
      MYSQL_ROOT_PASSWORD: ha
      MYSQL_DATABASE: ha
      MYSQL_USER: ha
      MYSQL_PASSWORD: ha
      network_mode: host
  nodered:
    container_name: node-red
    image: nodered/node-red
    volumes:
      - /srv/homeautomation/nodered:/data
    ports:
      - "1880:1880"
    restart: always
    environment:
      - TZ=${TZ}
    networks:
      - docker_default
      - traefik
    labels:
      - "traefik.enable=true"
      - "traefik.backend=nodered"
      - "traefik.frontend.rule=Host:nodered.anderaan.synology.me"
      - "traefik.port=1880"
      - "traefik.docker.network=traefik"
      - "traefik.frontend.headers.SSLRedirect=true"
      - "traefik.frontend.headers.STSSeconds=315360000"
      - "traefik.frontend.headers.browserXSSFilter=true"
      - "traefik.frontend.headers.contentTypeNosniff=true"
      - "traefik.frontend.headers.forceSTSHeader=true"
      - "traefik.frontend.headers.SSLHost=anderaan.synology.me"
      - "traefik.frontend.headers.STSIncludeSubdomains=true"
      - "traefik.frontend.headers.STSPreload=true"
      - "traefik.frontend.headers.customFrameOptionsValue: allow-from https:anderaan.synology.me"
    depends_on:
      - mosquitto
      - homeassistant
    user: root
  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    container_name: phpmyadmin
    depends_on:
      - mariadb
    links:
      - mariadb
    environment:
      PMA_HOST: mariadb
      PMA_PORT: 3306
      PMA_ARBITRARY: 1
      MYSQL_USER: ha
      MYSQL_PASSWORD: ha
      MYSQL_ROOT_PASSWORD: ha
    restart: always
    ports:
      - 8183:80
    volumes:
      - /srv/homeautomation/mariadb/sessions
  hass-configurator:
    container_name: configurator
    image: "causticlab/hass-configurator-docker:x86_64"
    volumes:
      - /srv/homeautomation/hass-configurator:/config
      - /srv/homeautomation/hass-config:/hass-config
    restart: always
    networks:
      - docker_default
    ports:
      - "3218:3218/tcp"
    environment:
      - BASEPATH=/hass-config
      - ENFORCE_BASEPATH=true
      - PUID=${PUID}
      - PGID=${PGID}
      - TZ=${TZ}
  traefik:
    image: traefik:v1.7.16
    domainname: anderaan.synology.me
    ports:
      - 80:80
      - 443:443
    networks:
      - docker_default
      - traefik
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /srv/homeautomation/traefik/traefik.toml:/traefik.toml
      - /srv/homeautomation/traefik/rules.toml:/rules.toml
      - /srv/homeautomation/traefik/data/acme.json:/acme.json
    labels:
      - "traefik.enable=true"
      - "traefik.backend=traefik"
      - "traefik.frontend.rule=Host:traefik.anderaan.synology.me"
      - "traefik.port=8080"
      - "traefik.docker.network=traefik"
    container_name: traefik
    restart: always

networks:
  traefik:
    external:
      name: traefik
  docker_default:
    driver: bridge

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *