<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.domoticz.com/index.php?action=history&amp;feed=atom&amp;title=Synology</id>
	<title>Synology - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.domoticz.com/index.php?action=history&amp;feed=atom&amp;title=Synology"/>
	<link rel="alternate" type="text/html" href="https://wiki.domoticz.com/index.php?title=Synology&amp;action=history"/>
	<updated>2026-09-18T20:44:59Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://wiki.domoticz.com/index.php?title=Synology&amp;diff=18555&amp;oldid=prev</id>
		<title>Walter vl: Removed Deprecated jadahl and outdated self build instructions</title>
		<link rel="alternate" type="text/html" href="https://wiki.domoticz.com/index.php?title=Synology&amp;diff=18555&amp;oldid=prev"/>
		<updated>2024-04-25T12:06:58Z</updated>

		<summary type="html">&lt;p&gt;Removed Deprecated jadahl and outdated self build instructions&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
Domoticz runs very well on a Synology NAS. In case your Synology supports Docker, installation is quite easy.&lt;br /&gt;
&lt;br /&gt;
==Dockerized Domoticz==&lt;br /&gt;
&lt;br /&gt;
Requirements:&lt;br /&gt;
&lt;br /&gt;
*USB drivers for Synology from [https://github.com/robertklep/dsm7-usb-serial-drivers Jadahl( backup)] (currently 7.0 and some 7.1 are supported); also you need SSH access to your Synology&lt;br /&gt;
*A Synology with [https://www.synology.com/nl-nl/dsm/packages/Docker Docker support]&lt;br /&gt;
&lt;br /&gt;
The described method is inspired on a discussion which can be found [https://www.domoticz.com/forum/viewtopic.php?t=35639 here]. For more information about Domoticz Docker check [[Docker|this wiki]] or [https://hub.docker.com/r/domoticz/domoticz docker hub]&lt;br /&gt;
&lt;br /&gt;
Steps:&lt;br /&gt;
&lt;br /&gt;
#Use the Synology Package Manager to install Docker (below 7.2) or Container manager (&amp;gt; 7.2)&lt;br /&gt;
#Open Docker, go to the Registry tab and download the Domoticz image labeled &amp;#039;&amp;#039;&amp;#039;domoticz/domoticz:beta&amp;#039;&amp;#039;&amp;lt;nowiki/&amp;gt;&amp;#039; for latest beta or  &amp;#039;&amp;#039;&amp;lt;nowiki/&amp;gt;&amp;#039;domoticz/domoticz:stable&amp;#039;&amp;#039;&amp;lt;nowiki/&amp;gt;&amp;#039; for latest stable.&lt;br /&gt;
#Switch to the Image tab and launch Domoticz with the following settings:&lt;br /&gt;
#*Container name: Domoticz&lt;br /&gt;
#*Execute container using high privilege (to access devices like &amp;lt;code&amp;gt;/dev/ttyACM0&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/dev/ttyUSB0&amp;lt;/code&amp;gt;)&lt;br /&gt;
#*Advanced settings:&lt;br /&gt;
#**Advanced settings: Enable auto-restart&lt;br /&gt;
#**Volume: Add Folder:&lt;br /&gt;
#***Create Folder &amp;#039;domoticz&amp;#039;, select this folder&lt;br /&gt;
#***Mount path: &amp;lt;code&amp;gt;/opt/domoticz/userdata&amp;lt;/code&amp;gt;&lt;br /&gt;
#**Port settings:&lt;br /&gt;
#***Local port 7080, container port 80&lt;br /&gt;
#**Environment:&lt;br /&gt;
#***WWW_PORT: 80&lt;br /&gt;
#***SSL_PORT: 0&lt;br /&gt;
#***LOG_PATH: &amp;lt;code&amp;gt;/opt/domoticz/userdata/domoticz.log&amp;lt;/code&amp;gt; &amp;#039;&amp;#039;(only for debugging)&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This configuration lets Domoticz to be served at port 7080, which is fine if you add a [[#External_access|reverse proxy]]. You may choose any port, even 80, if you like.&lt;br /&gt;
&lt;br /&gt;
===Python libraries===&lt;br /&gt;
&lt;br /&gt;
The Domoticz image currently comes with a limited set of Python libraries. In case you need more, open Docker on your Synology, go to the Domoticz container, select Details, Terminal, and open &amp;#039;bash&amp;#039;. Depending on the libraries you run something like:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
        pip3 install tzlocal&lt;br /&gt;
        pip3 install pytz&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
It is also possible to use a custom startup script to add these Python modules (and other extra&amp;#039;s) in the container at startup, see  [[Docker#custom startup script for the container]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
===USB drivers===&lt;br /&gt;
&lt;br /&gt;
Unfortunately, Synology DSM doesn&amp;#039;t come with USB drivers. If Domoticz needs access to certain USB devices, install these drivers from  [https://github.com/robertklep/dsm7-usb-serial-drivers Jadahl (backup)]. You need to figure out which DSM and [https://kb.synology.com/en-global/DSM/tutorial/What_kind_of_CPU_does_my_NAS_have hardware version] you own. In case of DSM 7.0 on a Gemini Lake CPU, open an SSH terminal to your Synology and install the drivers as follows:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
        URL=http://www.jadahl.com/iperf-arp-scan/DSM_7.0/geminilake&lt;br /&gt;
        for module in ch341 cp210x pl2303 ti_usb_3410_5052; do&lt;br /&gt;
          if [ -f /lib/modules/$module.ko ]; then&lt;br /&gt;
            echo Module $module already exists&lt;br /&gt;
          else&lt;br /&gt;
            sudo wget $URL/$module.ko -O /lib/modules/$module.ko&lt;br /&gt;
          fi&lt;br /&gt;
        done&lt;br /&gt;
        &lt;br /&gt;
        sudo tee /usr/local/etc/rc.d/start-usb-drivers.sh &amp;lt;&amp;lt;&amp;#039;HERE&amp;#039;&lt;br /&gt;
        #!/bin/sh&lt;br /&gt;
        case $1 in&lt;br /&gt;
          start)&lt;br /&gt;
            insmod /lib/modules/usbserial.ko &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
            insmod /lib/modules/cdc-acm.ko &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
            insmod /lib/modules/cp210x.ko &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
        #   insmod /lib/modules/ch341.ko &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
        #   insmod /lib/modules/pl2303.ko &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
        #   insmod /lib/modules/ti_usb_3410_5052.ko &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
        #   insmod /lib/modules/ftdi_sio.ko &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
            ;;&lt;br /&gt;
          stop)&lt;br /&gt;
            exit 0&lt;br /&gt;
            ;;&lt;br /&gt;
          *)&lt;br /&gt;
            exit 1&lt;br /&gt;
            ;;&lt;br /&gt;
        esac&lt;br /&gt;
        HERE&lt;br /&gt;
        chmod a+x /usr/local/etc/rc.d/start-usb-drivers.sh&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===External access===&lt;br /&gt;
&lt;br /&gt;
In case you want to expose Domoticz to the outside world, you need to configure a so called reverse proxy with SSL enabled. On DSM 7.0 open Settings and go to the Login Portal. Open the Advanced tab and click on Reverse Proxy, click Create, and configure it like:&lt;br /&gt;
&lt;br /&gt;
*Reverse Proxy Name: Domoticz&lt;br /&gt;
*Source:&lt;br /&gt;
**Protocol: HTTPS&lt;br /&gt;
**Hostname: the hostname your Domoticz should be accessible to&lt;br /&gt;
**Port: 443&lt;br /&gt;
**Enable HSTS: checked&lt;br /&gt;
*Destination:&lt;br /&gt;
**Protocol: HTTP&lt;br /&gt;
**Hostname: localhost&lt;br /&gt;
**Port: 7080&lt;br /&gt;
*Custom header: &lt;br /&gt;
**Upgrade: $http_upgrade&lt;br /&gt;
**Connection: $connection_upgrade&lt;br /&gt;
&lt;br /&gt;
You probably want to add an DDNS entry in the External Access section of your DSM configuration. And add a LetsEncrypt certificate to the Security entry of the DSM configuration, tab Certificate.&lt;/div&gt;</summary>
		<author><name>Walter vl</name></author>
	</entry>
</feed>