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. |
Links
- Home Assistant
- Zigbee2mqtt
- Node-RED
- Eclipse Mosquitto
- InfluxDB
- Telegraf
- Grafana
- ESPHome