The official documentation suggests installing Domoticz on a Synology NAS from an image pre-compiled by Jadahl or by compiling the source code directly on the NAS. Compiling from source code takes a little too much work for me. So I started installing the package for my DS718+ prepared by Jadahl … without success. Fortunately, we still have two other solutions to install Domoticz on a Synology NAS. Install Domoticz on a Virtual Machine as we have already done with Jeedom or install Domoticz in a Docker container.
In either case, a compatible Synology NAS will be required. For virtualization, you will need at least 4GB of RAM. Synology states that it is possible to expand the memory up to 6GB for the DS218+ and DS718+ models, but it is possible to go further. I installed 8GB on a DS718+ without difficulty. Some users have already installed 16GB but the interest is quite limited considering the processors used for entry-level NAS.
Configuration tested: DS718+, 8GB RAM, 2x2TB
Synology’s Virtual Machine Manager application requires at least 4GB of RAM to operate.
I installed an 8GB memory extension (2x4GB DDR3L SO-DIMM from Crucial) on my DS718+. It is quite difficult to access the main connector, which is why Synology announces that the DS218+ and DS718+ models only support 6GB of RAM.
The NAS is equipped with two 2 TB hard drives each Western Digital RED brand suitable for intensive use. This is more than enough for home automation, a multi-media file server and even network video surveillance (on condition that the recording time and quality are limited).
Remember to protect your NAS with an UPS.
Other Synology NAS compatible with Docker
To install Mosquitto in a Docker container, you need a compatible NAS. They are essentially NAS equipped with Intel processors. Here is the list of compatible Synology NAS models. The official list can be found on this page.
Series 19:RS1619xs+, RS1219+, DS2419+, DS1819+, DS1019+
Series 17:FS3017, FS2017, RS18017xs+, RS4017xs+, RS3617xs+, RS3617RPxs, RS3617xs, DS3617xs, DS1817+, DS1517+
Series 16:RS18016xs+, RS2416RP+, RS2416+, DS916+, DS716+, DS716+II, DS216+, DS216+II
Series 15:RS815RP+, RS815+, RC18015xs+, DS3615xs, DS2415+, DS1815+, DS1515+, DS415+
Series 14:RS3614xs+, RS3614RPxs, RS3614xs, RS2414RP+, RS2414+, RS814RP+, RS814+
Series 13:RS10613xs+, RS3413xs+, DS2413+, DS1813+, DS1513+, DS713+
Series 12: RS3412RPxs, RS3412xs, RS2212RP+, RS2212+, RS812RP+, RS812+, DS3612xs, DS1812+, DS1512+, DS712+, DS412+
Series 11: RS3411RPxs, RS3411xs, RS2211RP+, RS2211+, DS3611xs, DS2411+, DS1511+, DS411+, DS411+II
Series 10: RS810RP+, RS810+, DS1010+, DS710+ (DSM v6+)
Open the SSH port of the NAS
If the SSH port is already open on your NAS, you can go to the next step.
Open the control panel and activate the advanced mode (in the upper left corner). Open the Terminal & SNMP panel then
Check Enable SSH service
- Configure the port. By default, SSH uses port 22. To limit the risk of intrusion, you can modify it.
- Apply the changes. It is not necessary to restart the NAS to take into account the new settings.
Install Synology Docker Manager
The first thing to do is to install the Docker application developed by Synology. Open the Package Center and search for the keyword Docker in the search field. Click on Install.
Recover the Docker Domoticz image
Launch the Docker application from the DSM menu.
Open the Registry panel and search for the keyword domoticz in the search field. Select the repository prepared by linuxserver.io. Start the download by clicking on Download in the options bar.
Configure and start the Domoticz container
The image is uploaded to the image library. Open the tab, select the image and start creating the container by clicking on Launch.
You can customize the container name. Check Run container with elevated privileges to gain access to USB ports on Synology NAS.
By default, the ports are automatically assigned by DSM when the container starts. It is not very practical because the port may change the next time the NAS or container is restarted. Open the advanced settings then go to the Port settings tab. Replace the local Auto port with the desired port. By default Domoticz uses port 8080.
Click on Apply then next. If everything looks correct, click Apply at the bottom of the summary window.
Note. All parameters can be modified after the creation of the container (provided that the container is stopped).
Open the Containers tab and open the Domoticz container details. As you can see, Domoticz consumes very few resources from the Synology NAS. Without any accessories and no script, Domoticz uses less than 1% of the CPU and 18MB of RAM! Suffice to say nothing at all.
Add Z-Wave home automation accessories, RFLink radio …
Open the Domoticz interface and enter the IP address of the NAS followed by the port, for example
To be able to access the home automation gateways connected to the Synology USB ports, it is essential to check the Execute container using elevated privileges option. On a DS718+, I successfully tested the addition of Z-Wave and RFLink accessories.
Addition of Python plugins
Since everything was going well, I then tried to install Python plugins. For the record, we had already seen how to do it step by step in this tutorial.
The installation is quite simple but no plugin is loaded when starting Domoticz. There is no error message. I give you the steps hoping that one of you will find a solution. I also reported the problem to the Linux.server.io team.
Connect in SSH to Synology NAS then go root
sudo su -
Locate the Docker Domoticz installation directory by searching
find / -name domoticz
Like me, you risk having several installation directories.
If so, you can clean up the volumes by running the command
plum volume docker
Get the PP-Manger project link on Github
Go to the Plugins folder then download the plugin using the wget command
cd /volume1/@docker/btrfs/subvolumes/b683e5ada7a9c3f5cccedba85be377890051a5de866b69ece57bfba4d7539290 / var / lib / domoticz / plugins wget https://github.com/ycahome/pp-manarchive/master.zip
The unzip command is not available on DSM 6.2, instead, we have 7z
7z x master.zip
We rename the folder
mv pp-manager-master/ pp-master
It only remains to restart the container. Unfortunately, Python Plugin Manager (or any other plugin) is not launched at the moment. If you know the solution, don’t hesitate to share it in the comments or on the forum :-).
Assessment of the operation of Domoticz under Docker
Despite a two-spoon installation, the operation of Domoticz in Docker is fairly mixed. The installation of Python plugin is quite simple but nothing helps, the plugins are not launched. I tried to restart the NAS (just in case), without success. Another negative point, after a restart of the NAS, Domoticz can no longer load the driver for the Z-Wave + controller. The only solution is to delete the hardware. If you restart after a prolonged power outage, you risk losing access to your Z-Wave + accessories. It’s a little annoying when you go on vacation!
Quick and easy installation No configuration required (except the port) Ultra-light operation thanks to Docker (CPU load ~ 1%)
Installation of Python plugin possible but plugins do not start (cause unknown at the moment) Loss of the Z-Wave controller after a reboot
Install Domoticz on a Debian Buster virtual machine
Faced with this mixed assessment, I tried a more classic installation on a virtual machine running Debian. We will not repeat here all the stages of creation of the VM.
Models compatible with Synology Virtual Machine Manager
Series 19: RS1619xs+, RS1219+, DS2419+, DS1819+, DS1019+
Series 17: FS3017, FS2017, RS18017xs+, RS4017xs+, RS3617xs+, RS3617RPxs, RS3617xs, DS3617xs, DS1817+, DS1517+
Series 16: RS18016xs+, RS2416RP+, RS2416+, DS916+
Series 15: RS815RP+, RS815+, RC18015xs+, DS3615xs, DS2415+, DS1815+, DS1515+
Series 14: RS3614xs+, RS3614RPxs, RS3614xs
Series 13: RS10613xs+, RS3413xs+
Series 12: RS3412RPxs, RS3412xs, DS3612xs
Series 11: RS3411RPxs, RS3411xs, DS3611xs
Install Download Station
If you are already using Download Station you can go to the next step.
Open the package manager and search for the keyword Download. Install Download Station
Install Virtual Machine Manager
If you are already using Virtual Machine Manager you can go to the next step.
Open the package manager and search for the keyword Download. Install Virtual Machine Manager
Recover Debian 10 image with Download Station
Go to the Debian site to get the distribution link. Take the amd64 netInstall version (even if the NAS is equipped with an Intel x86 processor). The download is fast even with an average connection. The archive weighs around 292MB. If you change your mind, you can install a graphical desktop at the end of the installation (or later).
Links to the NetInstall version (small Debian Buster image) can be found on this page.
Open Download Station and paste the link to the Debian Buster ISO file. Start the download by clicking OK.
Creating a virtual machine under Debian 10
Open Virtual Machine Manager, open the Virtual Machine tab and click Create. In the dialog that opens, select Linux as the operating system.
Choose a storage from the list
Assign 1 or more processors (2 recommended), RAM (recommended 1GB) and the type of video board (vga recommended).
Indicate the size of the virtual hard disk (storage). 30 GB is more than enough. Click on browse in front of the ISO file option for startup and indicate the path to the previously downloaded Debian Buster ISO image.
Keep the default network configuration
Choose Yes for the Autostart option to start the virtual machine (Domoticz) when the NAS starts. Choose the keyboard type now. Choose USB 3.0 as virtual controller in order to be able to access home automation gateways (RFLink, Z-Wave, Zigbee …). USB accessories cannot be connected at this time.
Assign permissions to users
The configuration is finished. Check Start the virtual machine after its creation then Apply.
You can also start the virtual machine manually by selecting it and clicking Power on.
Once the machine is started, you can log in (connect) to install Debian.
A VNC client opens in a new browser window.
It only remains to follow the installation steps of Debian.
Assign a fixed IP address to the Debian virtual machine
For security, it is preferable to assign a fixed IP address to the virtual machine so that the home automation server is always accessible on the local network at the same address.
After the reboot, reconnect to the virtual machine and log in using the user account created during the installation of Debian. Open the interfaces file
Comment on the current configuration and paste this new configuration by adapting it to your parameters. Here the VM will be accessible at IP address 192.168.1.10
auto ens3 iface ens3 inet static address 192.168.1.10 netmask 255.255.255.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameservers 192.168.1.1
Save with CTRL + X then Y. Then restart the system with the sudo reboot command.
Log in after reboot and run this command to verify that the IP address has been changed correctly
ip -4 a
The Debian virtual machine is easily accessible at the address 192.168.1.10 on the local network. You can now connect to it in SSH to easily install Domoticz.
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 inet 192.168.1.10/24 brd 192.168.1.255 scope global ens3 valid_lft forever preferred_lft forever
Connect in SSH to the virtual machine. Connect in SSH using the Terminal (Linux or macOS) or PowerShell on Windows then execute the following command to recover Domoticz and start the installation.
curl -sSL install.domoticz.com | sudo bash
curl -L https://install.domoticz.com | bash
Just answer the few questions asked. You can keep the default settings.
Domoticz cannot start directly under Debian Stretch, however, because it lacks the libssl1.0.0 library.
Manually install the libssl1.0.0 library
If you try to connect to Domoticz, you will get an empty window and for good reason, by executing this command which allows to know the status of the service (sudo /etc/init.d/domoticz.sh status) you will get the next error
./domoticz: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory
Impossible to install the library with a simple apt-get install command. You have to go get it directly from Debian here. Get the link to the library on the official website and run the wget command to download it.
Finally, we install it manually
sudo dpkg -i libssl1.0.0_1.0.1t-1 + deb8u11_amd64.deb
It only remains to restart Domoticz
sudo /etc/init.d/domoticz.sh restart
And check that everything is working properly
domoticz.service - LSB: Home Automation System Loaded: loaded (/etc/init.d/domoticz.sh; generated; vendor preset: enabled) Active: active (exited) since Fri 2019-04-26 20:22:29 CEST; 3h 18min ago Docs: man:systemd-sysv-generator(8) Process: 2836 ExecStop=/etc/init.d/domoticz.sh stop (code=exited, status=0/SUCCESS) Process: 2845 ExecStart=/etc/init.d/domoticz.sh start (code=exited, status=0/SUCCESS) Tasks: 0 (limit: 4915) CGroup: /system.slice/domoticz.service avril 26 20:22:29 ds718 systemd: Starting LSB: Home Automation System... avril 26 20:22:29 ds718 domoticz.sh: 2019-04-26 20:22:29.821 Status: Domoticz V4.9701 (c)2012-2018 GizMoCuz avril 26 20:22:29 ds718 domoticz.sh: 2019-04-26 20:22:29.823 Status: Build Hash: b47a877f, Date: 2018-06-23 16:27:56 avril 26 20:22:29 ds718 domoticz.sh: 2019-04-26 20:22:29.824 Status: Startup Path: /home/projetsdiy/domoticz/ avril 26 20:22:29 ds718 domoticz.sh: domoticz: Domoticz is starting up.... avril 26 20:22:29 ds718 domoticz: Domoticz is starting up.... avril 26 20:22:29 ds718 domoticz: Domoticz running... avril 26 20:22:29 ds718 systemd: Started LSB: Home Automation System.
Install Python Plugin Manager
I will not repeat all the installation steps in this tutorial. If you need more information about Python Plugin Manager, read this more detailed tutorial.
Python 3.5 (or higher) is already installed on the Debian Buster distribution. However, 2 libraries are missing
sudo apt install libpython3.5 python3-dev
After installing the libraries, relaunch Domoticz
sudo systemctl restart domoticz.service
Check that the Python Library is correctly loaded when starting Domoticz
Grant access permissions to the plugins folder
If you have not installed Domoticz with the root account (which is better for security), you will probably not have the right to access the plugins folder. Run this command, replacing the user name to give full access to this folder.
sudo chown -R USER_NAME domoticz / plugins /
Install the Python Plugin Manager plugin
The Python Plugin Manager plugin automatically installs and updates Python plugins for Domoticz. Go to the plugins directory
and clone the plugin from Github
git clone https://github.com/ycahome/pp-manager.git
sudo systemctl restart domoticz.service
You can now easily install other plugins. Do not forget to relaunch the Domoticz service after adding a new plugin so that it appears in the list.
Assessment of the operation of Domoticz on a virtual machine
Creating the virtual machine may seem long and tedious but as soon as you do it the first time, it’s really super simple. The huge advantage is to be on a perfectly standard Linux. So there will be absolutely no problem installing additional libraries. Most of the tutorials adapted to the Raspberry Pi are most often valid. Finally big advantage, we can schedule regular backups.
Small note in passing, unlike QNAP, USB controllers are not disconnected during backup on Synology NAS. No risk of losing control of your Z-Wave accessories in case of absence!
On the performance side, you will not see the different. However, a VM will be slower to start (re-start) than a Docker container. Finally, a VM will consume more resources from the NAS, especially RAM.
Standard installation in a Linux environment All home automation controllers (Z-Wave, Zigbee, RFLink …) are detected by the NAS and accessible from the virtual machine Automatic start of Domoticz with the NAS Programmable backup No disconnection of USB devices during backup (unlike QNAP)
Quite long creation of the virtual machine Quite long installation of Domoticz (compared to Docker) More resources consumed (2% of CPU, RAM) Longer restart
Conclusions: Docker or VM for Domoticz?
If you are not using python plugins and / or Z-Wave+ accessories, you can consider installing Domoticz in a Docker container. The installation is ultra-simple and quick. Getting started is really quick. The Domoticz container consumes virtually no resources from the NAS.
On the other hand, go your way if you use the NAS as a concentrator of home automation gateways. Domoticz under Docker does not support re-docking of the NAS. You may have to re-configure your Z-Wave + accessories which is not tolerable for a home automation server to which we will want to entrust security tasks. Presence simulator, presence detection, triggering of scenarios in the event of an intrusion, weather event (automatic shutter closing) … In this case, I advise you to opt for a more traditional installation on a virtual machine. It is a little longer and consumes resources, but it is also the most reliable solution.
Which NAS model from Synology to choose?
Several consumer models may be suitable. Preferably choose a double-bay model allowing you to create a RAID 1 or Btrfs (more modern) volume in order to secure your data.
|Price NAS only**||~ 260$||~ 455€||~ 550€|
|Processor||Intel Celeron J3355|
Dual Core@2.0 GHz
|Intel Celeron J3455|
Quad Core@2.3 GHz
|Intel Celeron J3455|
Quad Core@2.3 GHz
|RAM||2 GB DDR3L||2 GB DDR3L||4 GB DDR3L|
|RAM max||6 GB (2 GB + 4 GB)|
|6 GB (2 GB + 4 GB)|
|8 GB (2 x 4 GB )|
|Max. storgae||28 TO|
2 x 14 TO
2 x 14 TO
4 x 14 TO
|Transcodage***||H.264 (AVC), H.265 (HEVC), MPEG-2 et VC-1 ; max. resolution: 4K (4096 x 2160)@30i/s||H.264 (AVC), H.265 (HEVC), MPEG-2 et VC-1 ; max resolution: 4K (4096 x 2160)@30i/s||H.264 (AVC), H.265 (HEVC), MPEG-2 et VC-1 ; max. resolution: 4K (4096 x 2160)@30i/s|
|Nose||19.3 dB(A)||18.4 dB(A)||19.8 dB(A)|
|Consumption||17,23W||20,1 W||28,8 W|
|Standby cons.||5,4 W||9,1 W||12,6 W|
(*) requires at least 4GB of RAM.
(**) The NAS is delivered without hard drive and memory extension.
(***) Reduces the storage space (and therefore the overall cost of the NAS) for video surveillance
- Install Domoticz on NAS Synology DS718+ with Docker or virtual machine under Debian Buster
- Install the MQTT Mosquitto broker on NAS Synology (DSM 6.2+) with Docker