158 lines
6.6 KiB
Markdown
158 lines
6.6 KiB
Markdown
# 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 | Time Zone |
|
|
| 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](https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/#allow_embedding). |
|
|
| ESPHOME_CONTAINER_NAME | ESPHome | This is used for the name of the container |
|
|
| ESPHOME_TAG | latest | Choose a version tag. |
|
|
|
|
## Links
|
|
|
|
* Home Assistant
|
|
* [Website](https://www.home-assistant.io/)
|
|
* [Docker Hub](https://hub.docker.com/r/homeassistant/home-assistant)
|
|
* [GitHub](https://github.com/home-assistant/core)
|
|
* Zigbee2mqtt
|
|
* [Website](https://www.zigbee2mqtt.io/)
|
|
* [Docker Hub](https://hub.docker.com/r/koenkk/zigbee2mqtt)
|
|
* [GitHub](https://github.com/Koenkk/zigbee2mqtt)
|
|
* Node-RED
|
|
* [Website](https://nodered.org/)
|
|
* [Docker Hub](https://hub.docker.com/r/nodered/node-red)
|
|
* [GitHub](https://github.com//node-red/node-red-docker)
|
|
* Eclipse Mosquitto
|
|
* [Website](https://mosquitto.org/)
|
|
* [Docker Hub](https://hub.docker.com/_/eclipse-mosquitto)
|
|
* [GitHub](https://github.com/eclipse/mosquitto)
|
|
* InfluxDB
|
|
* [Docker Hub](https://hub.docker.com/_/influxdb)
|
|
* [GitHub](https://github.com/influxdata/influxdata-docker/tree/master/influxdb)
|
|
* Telegraf
|
|
* [Docker Hub](https://hub.docker.com/_/telegraf)
|
|
* [GitHub](https://github.com/influxdata/influxdata-docker/tree/master/telegraf)
|
|
* Grafana
|
|
* [Website](https://grafana.com/)
|
|
* [Docker Hub](https://hub.docker.com/r/grafana/grafana)
|
|
* [GitHub](https://github.com/grafana/grafana)
|
|
* ESPHome
|
|
* [Website](https://esphome.io/)
|
|
* [Docker Hub](https://hub.docker.com/r/esphome/esphome)
|
|
* [GitHub](https://github.com/esphome/esphome)
|