Files
docker-compose-collection/domotica/readme.md
T
2023-09-09 14:58:07 +02:00

6.6 KiB

domotica

This project/stack consists of multiple software which combined create my domotica project/stack.

Installation using Synology Container Manager

Untested, but should work with

  • Synology DS1019+ running DSM DSM 7.2-64570 Update 1;
  • Container Manager from Synology Package Center version 20.10.23-1413;
  • Home Assistant 2023.9;
  • Zigbee2mqtt 1.33.0;
  • Node-RED 3.1.0-16;
  • Eclipse Mosquitto 2.0.17;
  • InfluxDB 2.7.1
  • Telegraf 1.27.4;
  • Grafana 10.1.1;
  • ESPHome 2023.8.

Installation steps

  • Within your docker folder (/volume1/docker) create a folder named: domotica
  • Move the following files to that newly created folder
    • compose.yml
    • .env.sample
  • Rename .env.sample to .env
  • Change the environment variables in the file .env as you see fit (don't forget to remove the # in front of the row you want to use)
  • Create the folowing folders under /volume1/docker/domotica
    • HomeAssistant/config
    • HomeAssistant/media
    • Zigbee2mqtt/app/data
    • NodeRed/data
    • EclipseMosquitto/mosquitto/config
    • EclipseMosquitto/mosquitto/data
    • EclipseMosquitto/mosquitto/log
    • InfluxDB/var/lib/influxdb2
    • Grafana/var/lib/grafana
    • ESPHome/config
  • Copy the following file from the repository
    • Telegraf/etc/telegraf/telegraf.conf, copy to: Telegraf/etc/telegraf
  • Open Container Manager via Synology DiskStation Manager (DSM)
  • Go to Project (in the left pane)
  • Click Create
  • Name your project domotica
  • Select the path you created in step 1
  • Choose to use the existing docker-compose.yml file
  • Click Next
  • Click Next on the Web portal settings page
  • Click Done and wait for Container Manager to finish (Exit Code: 0)

Installation using Portainer

Tested with

  • Synology DS1019+ running DSM DSM 7.2-64570 Update 1;
  • Container Manager from Synology Package Center version 20.10.23-1413;
  • Portainer.io Community Edition version 2.19.0;
  • Home Assistant 2023.9;
  • Zigbee2mqtt 1.33.0;
  • Node-RED 3.1.0-16;
  • Eclipse Mosquitto 2.0.17;
  • InfluxDB 2.7.1
  • Telegraf 1.27.4;
  • Grafana 10.1.1;
  • ESPHome 2023.8.

Installation steps

  • Within your docker folder (/volume1/docker) create a folder named: domotica
  • Create the folowing folders under /volume1/docker/domotica
    • HomeAssistant/config
    • HomeAssistant/media
    • Zigbee2mqtt/app/data
    • NodeRed/data
    • EclipseMosquitto/mosquitto/config
    • EclipseMosquitto/mosquitto/data
    • EclipseMosquitto/mosquitto/log
    • InfluxDB/var/lib/influxdb2
    • Grafana/var/lib/grafana
    • ESPHome/config
  • Copy the following file from the repository
    • Telegraf/etc/telegraf/telegraf.conf, copy to: Telegraf/etc/telegraf
  • Open Portainer with the correct environment.
  • Under Stacks click the button + Add stack.
  • Give your stack a name (i.e.: domotica).
  • Paste the contents of compose.yml under Web editor.
  • Paste the contents of .env.sample under Environment variables.
    • Click Advanced mode to be able to paste.
  • Change the environment variables as you see fit. (don't forget to remove the # in front of the row you want to use)
  • Click Deploy the stack and wait for Portainer to finish.

Environment variables

The following variables could be set an environment varaiables using the .env file.

Value Default Information
RESTART unless-stopped Choose a restart policy.
SYNOLOGY_VOLUME volume1 Volume you docker folder is on.
STACK_NAME domotica The name of your project/stack and also the base folder within your docker folder.
UID 1024 The User ID you want to use for ownership of the files. 1024 is the default Synology admin user.
GID 101 The Groud ID you want to use for ownership of the files. 101 is the default Synology admin group.
TZ Europe/Amsterdam
HOMEASSISTANT_CONTAINER_NAME HomeAssistant This is used for the name of the container
HOMEASSISTANT_TAG latest Choose a version tag.
ZIGBEE2MQTT_CONTAINER_NAME Zigbee2mqtt This is used for the name of the container
ZIGBEE2MQTT_TAG latest Choose a version tag.
NODERED_CONTAINER_NAME NodeRed This is used for the name of the container
NODERED_TAG latest Choose a version tag.
ECLIPSEMOSQUITTO_CONTAINER_NAME EclipseMosquitto This is used for the name of the container
ECLIPSEMOSQUITTO_TAG latest Choose a version tag.
INFLUXDB_CONTAINER_NAME InfluxDB This is used for the name of the container
INFLUXDB_TAG latest Choose a version tag.
TELEGRAF_CONTAINER_NAME Telegraf This is used for the name of the container
TELEGRAF_TAG latest Choose a version tag.
TELEGRAF_CONF_INFLUXDBV2_URL http://localhost:8086 The location of InfluxDB.
TELEGRAF_CONF_INFLUXDBV2_TOKEN The Token created in InfluxDB for your Telegraf information.
TELEGRAF_CONF_INFLUXDBV2_ORGANIZATION The organization created in InfluxDB for your Telegraf information.
TELEGRAF_CONF_INFLUXDBV2_BUCKET The bucket created in InfluxDB for your Telegraf information.
GRAFANA_CONTAINER_NAME Grafana This is used for the name of the container
GRAFANA_TAG latest Choose a version tag.
GRAFANA_SECURITY_ALLOW_EMBEDDING true Needed if you want to acces Grafana from an iframe in Home Assiatnt. More info.
ESPHOME_CONTAINER_NAME ESPHome This is used for the name of the container
ESPHOME_TAG latest Choose a version tag.