-
Notifications
You must be signed in to change notification settings - Fork 4
Updating from the Synology SPK to Container
Welcome to the Guide for those wishing to move from the now end of life SPKs I used to create for the HDHomeRun DVR engine to the docker container on a Synology System. I do believe Silicondust has something in the works - so I refer ONLY to my SPKs that I created before August 1st 2022. The guide was developed with lots of help from @AnalogueBill on the Silicondust forums and @timodreynolds from the HDHRqpkg Discord.
Please Note - this has been confirmed working on DSM7 on x86 based Synology NASes. a DS718+ and a DS1520+ It is possible to install docker on an ARM based Synology NAS, but not officially from Synology. However, should you install it, then the instructions below should still apply.
-
Stop any existing Record Engine To begin with we assume you have the SPK installed. You can now go in to the App Center and disable/stop the HDHomeRunDVR package. If you want to delay actual removing of the SPK until you have the container working - that is ok. It will not cause issues if you have to delete later. Just make sure not to allow both to be running at the same time. If you have previously used the Silicondust Installer you can simply reboot the NAS or use the command line by SSH to the NAS. The default folder that is used is
/volume1/HDHomeRun
but you may need to adjust. Also if you have done the autostart provided by Siliondust here here please remove it. -
Install Docker With the Record Engine stopped you now need to install
Docker
from the App Center. It is possible to install docker on an ARM based Synology NAS, but not officially from Synology. However, should you install it, then the same instructions apply here on setting up this container. -
Create a shared folder for your docker data With docker installed I believe you will need to create a shared folder for storing any docker data. You can set this up as shared across all containers, or one specifically for this DVR container - it is your choice. Please follow the Synology instructions here For the rest of this guide I will assume a shared Folder called
ContainerData
that is shared and a subfolder in this shareDVRData
for storage of data specific to this container, i.e./ContainerData/DVRData
-
Create a shared folder for your recordings (optional) If you have installed the SPK or used the Silicondust Installer before, then likely you have a shared folder already created and can skip this step. If this is your first time installing the DVR engine, or a reset, etc.. then create another Shared Folder following the Synology instructions here For the rest of this guide I will assume a shared Folder called
HDHomeRunDVR
which is the same default as the SPK, but different from the Silicondust Installer default which isHDHomeRun
-
Create a DVR user (recommended) You could simply use the DVR container as root, and it will work. However with permissions getting as complicated as they are on Synology I would recommend you create a new user specifically for this. Rather than repeat Synology's own guide I'm going to simply refer you to go look that up and create a new user that you want.. For rest of this guide I'm going to assume a username of
dvruser
With the user created - make sure they have permissions to both theContainerData
andHDHomeRunDVR
shared folders (or whatever you have called them) -
Get the User UID and GID To correct the permissions for the container we will need the user ID (UID) and group ID (GID) of the DVR user you wish to use (and/or created in previous step) Please follow this guide from MariusHosting on how to get this information. FWIW Marius has a ton of really good tips on how to get more out of your Synology NAS. Keep note of the
UID
andGID
you get from the output - we'll need this later.
-
Open up the Docker app in your Synology DSM Desktop and select Create
-
It will then ask you which image you want - so search for this container
demonrik/hdhrdvr-docker:latest
with:latest
indicating you want releases with the latest tag applied to them -
Select the network mode to be
Host
. -
Configure the General Settings
4.1 Set a name for this container.. I recommend you use something simple like DVR or HDHomeRunDVR
4.2 This container doesn't need elevated privileges, so you can leave 'Execute container using high privileges' blank (unlike the screenshot)
4.3 Recommend to click on 'Enable auto-restart' so that the container
-
Click on 'Advanced Settings' so we can add the correct environment parameters needed
5.1 Add a variable
DVRUI_PORT
which is needed for the web UI to the DVR Manager and set the value to59080
or any other known free port in your NAS5.2 Add a variable
PUID
to indicate which user we will run under and set to theUID
discovered in the setup phase.5.3 Add a variable
PGID
to indicate which group we will run under and set to theGID
discovered in the setup phase.5.4 Click save to keep these variables/parameters.
-
Back on the Settings, click on the
Volume Settings
Tab6.1 Add a new volume and set the
File/Folder
to yourHDHomeRunDVR
shared volume andMount path
should be/dvrrec
indicating to the container where to store the recordings.6.2 Add a second new volume and set the
File/Folder
to your/ContainerData/DVRData
shared volume andMount path
should be/dvrdata
indicating to the container where to store the temporary data for its internals. -
Click Save when done and the container should start
You can verify the installation is working in 3 ways
- Open the container logs via the Docker UI on your Synology and verify you don't see any errors.
- Open the DVR Manager UI at the
DVRUI_PORT
of your NAS, e.g. 192.168.5.42:59080 You should be able to open the logs, and confirm the DVR engine is running on the status bar at the bottom - Open the Record Engine interface at the 59090 port, e.g. 192.168.5.42:59090