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
