Skip to content

TubeSync in Docker on a Synology NAS

UpdateDate
New guide published11/03/2022

What is TubeSync?

To quote the devs:

TubeSync is a PVR (personal video recorder) for YouTube. Or, like Sonarr but for YouTube (with a built-in download client). It is designed to synchronize channels and playlists from YouTube to local directories and update your media server once media is downloaded.

If you are looking for a way to grab individual videos you can also try my YouTubeDL Material guide which can also sync channels.

Lets Begin

In this guide I am going to take you through the steps to get TubeSync up and running in Docker on your Synology NAS.

In order for you to successfully use this guide please complete the second of the two preceding guides.

Step 2: Setting up a restricted Docker user

Downloading the Container

The GUI version of this guide will be pulling the Tubesync image from ‘dougebanks’ as he is pushing the latest image to the Docker Hub Registry. If you want to use the original image use the Docker Compose at the bottom of this guide.

Open up Docker within DSM and navigate to the ‘Registry’ tab, and search for ‘tubesync’ in the search box and download the version by ‘dougeubanks’

Setting up the container

Now we have downloaded the image and got hold of our user IDs we can move onto the next stage.

Go back into Docker and click on the ‘Image’ tab, in the list of your containers select the image, and click on ‘Launch’

You will be greeted with the initial setup screen, feel free to rename the container if you want, then click on the ‘Advanced Settings’ button.

Next up we are going to click on the ‘Advanced Settings’ button, this will take you to a new window with a number of tabs which we are going to work through.

On the first tab enable ‘Auto Restart’ this will ensure TubeSync will automatically start up whenever you reboot your NAS.

Volumes / Mounts

We can now move onto the Volume tab in which we will be specifying the directories where TubeSync will store its configuration files and where the video downloads will be stored.

Click on Add Folder, click on the ‘docker’ folder and create a new sub-folder called ‘tubesync’ select this folder and click ‘select’

Now add ‘/config’ to the ‘Mount path’ box

We now need to repeat this process adding the folders below one at a time. Your path settings should look like the table/screenshot below.

File/FolderMount path
/docker/tubesync/config
/data/media/youtube/downloads

Network

We are not going to be specifying specific ports for TubeSync to use as we want to keep things simple, tick the ‘Use the same network as Docker Host’

You do not need to set up anything on this tab.

Environment Variables

Next we are going to set up a couple of environment variables that docker will use to allow the container access to our files and folders.

Click the Add button, and fill in the following details as per the table/screenshot, you will need to do one at a time.

variableValue
PUIDThe UID you obtained in the user setup guide
PGIDThe GID you obtained in the user setup guide
TZYour timezone wikipedia.org/wiki/List_of_tz_database_time_zones
HTTP_USEROptional – if you want to have a username to login
HTTP_PASSOptional – add a password if use added a username

Almost Done

You have now completed the setup of the container.

Click on Apply to move back to the initial settings screen and then click next, you will be shown an overall summary of the settings we have specified, this is a good time to double-check everything is correct. Finally, click on Done and the container should start to boot.

You should now be able to access the web interface via the IP of your NAS followed by the port 4848

e.g 192.168.0.40:4848

Docker Compose

You can use the below code saved as tubesync.yml in the ‘/docker/tubesync’ share to do a much quicker setup than via the Synology UI. You will need to set up the folders as per the Volumes/Mounts section first. Ensure you change the variables to your own.

version: "3.8"
services:
  tubesync:
    image: ghcr.io/meeb/tubesync:latest
    container_name: tubesync
    restart: unless-stopped
    volumes:
      - /volume1/docker/tubesync:/config
      - /volume1/data/media/youtube:/downloads
    environment:
      - TZ=Europe/London
      - PUID=YOURPUID
      - PGID=YOURPGID
      - HTTP_USER=OPTIONALUSERNAME #remove this line if not required
      - HTTP_PASS=OPTIONALPASSWORD #remove this line if not required
    network_mode: host
    restart: unless-stopped
sudo docker-compose -f /volume1/docker/tubesync/tubesync.yml up -d


Throw me some bits or buy me a coffee?

If you have found my site useful please consider pinging me a tip as it helps cover the cost of running the site, you can even buy me a coffee 🙂

Buy Me A Coffee
Doge / Ethereum / Bitcoin
Published inDockerSynology

2 Comments

  1. Grant112 Grant112

    Awesome. Thanks for making this. Do you find you like TubeSync over YouTubeDL Material? Which is better?

    • Dr_Frankenstein Dr_Frankenstein

      We had a similar discussion in Discord. Both work well, Tubesync is purely for getting local copies of channels, I still keep Material running for the quick grab of a single video from the url. You can’t really lose by running both

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

drfrankenstein.co.uk – writing Synology Docker Guides since 2016 – Join My Discord!