Tube Archivist is a self hosted solution to download and privately watch your favorite subscriptions and YouTube channels without any ads. With Tube Archivist you can run your self hosted YouTube media server on your Synology NAS. In this step by step guide I will show you how to install Tube Archivist on your UGREEN NAS using Docker & Portainer.
Tube Archivist v0.5.0 release.
This guide works perfectly with the latestSTEP 1
Please Support My work by Making a Donation.
STEP 2
Install Portainer using my step by step guide. If you already have Portainer installed on your UGREEN NAS, skip this STEP. Attention: Make sure you have installed the latest Portainer version.
STEP 3
⚠️Mandatory: Enable HTTPS on your UGREEN NAS.
STEP 4
Create a new hostname on the noip website using your noip account. For example, I have created mariusarchivist as hostname and I use the free ddns.net domain. In the IP Address area, type in your own IPV4 IP address from your ISP, then click Create/Add Hostname. Follow the instructions in the image below.
STEP 5
⚠️Mandatory Add Read & Write Permissions to the Docker Folder. If you have already added the Read and Write Permissions to the Docker Folder, skip this STEP.
STEP 6
Go to File Manger and open the docker folder. Inside the docker folder, create one new folder and name it tubearchivist. Follow the instructions in the image below.
Note: Be careful to enter only lowercase, not uppercase letters.
STEP 7
Now create four new folders inside the tubearchivist folder that you have previously created at STEP 6 and name them cache, es, media, redis. Follow the instructions in the image below.
Note: Be careful to enter only lowercase, not uppercase letters.
STEP 8
Log into Portainer using your username and password. In the left sidebar in Portainer, click on Stacks then + Add stack. Follow the instructions in the image below.
STEP 9
In the Name field type in tubearchivist. Follow the instructions in the image below.
services: es: image: bbilly1/tubearchivist-es:latest container_name: TubeArchivist-ES hostname: tubearchivist-es user: 1000:1000 ulimits: memlock: soft: -1 hard: -1 security_opt: - no-new-privileges:true - seccomp:unconfined healthcheck: test: curl -s http://tubearchivist-es:9200 >/dev/null || exit 1 environment: - TZ=Europe/Bucharest - ELASTIC_PASSWORD=tubearchivistpass - ES_JAVA_OPTS=-Xms512m -Xmx512m - xpack.security.enabled=true - discovery.type=single-node - path.repo=/usr/share/elasticsearch/data/snapshot volumes: - /volume1/docker/tubearchivist/es:/usr/share/elasticsearch/data:rw restart: on-failure:5 redis: image: redis:7 container_name: TubeArchivist-REDIS hostname: tubearchivist-redis security_opt: - no-new-privileges:true healthcheck: test: ["CMD-SHELL", "redis-cli ping || exit 1"] user: 999:10 environment: - TZ=Europe/Bucharest volumes: - /volume1/docker/tubearchivist/redis:/data:rw restart: on-failure:5 depends_on: es: condition: service_started tubearchivist: image: bbilly1/tubearchivist:latest container_name: TubeArchivist hostname: tubearchivist security_opt: - no-new-privileges:true healthcheck: test: timeout 10s bash -c ':> /dev/tcp/127.0.0.1/8000' || exit 1 interval: 10s timeout: 5s retries: 3 start_period: 90s ports: - 8770:8000 environment: - TZ=Europe/Bucharest - HOST_UID=999 - HOST_GID=10 - ES_URL=http://tubearchivist-es:9200 - REDIS_CON=redis://redis:6379 - TA_HOST=https://mariusarchivist.ddns.net - TA_USERNAME=marius - TA_PASSWORD=mariushosting - ELASTIC_PASSWORD=tubearchivistpass volumes: - /volume1/docker/tubearchivist/media:/youtube:rw - /volume1/docker/tubearchivist/cache:/cache:rw restart: on-failure:5 depends_on: es: condition: service_started redis: condition: service_healthy
Note: Before you paste the code above in the Web editor area below, change the value for TZ. (Select your current Time Zone from this list.)
Note: Before you paste the code above in the Web editor area below, change the value numbers for user with your own UID and GID values. (Follow my step by step guide on how to do this.) 999 is my personal UID value and 10 is my personal GID value. You have to type in your own values.
Note: Before you paste the code above in the Web editor area below, change the value numbers for HOST_UID and HOST_GID with your own values. (Follow my step by step guide on how to do this.) 999 is my personal HOST_UID value and 10 is my personal HOST_GID value. You have to type in your own values.
Note: Before you paste the code above in the Web editor area below, change the value for TA_HOST and type in your own DDNS hostname with https at the beginning that you have previously created at STEP 4.
Note: Before you paste the code above in the Web editor area, change the value for TA_USERNAME and add your own username. marius is an example for a username. You have to insert your own username.
Note: Before you paste the code above in the Web editor area, change the value for TA_PASSWORD and add your own password. mariushosting is an example for a password. You have to insert your own password.
STEP 10
Scroll down on the page until you see a button named Deploy the stack. Click on it. Follow the instructions in the image below. The installation process can take up to a few minutes. It will depend on your Internet speed connection.
STEP 11
If everything goes right, you will see the following message at the top right of your screen: “Success Stack successfully deployed“.
STEP 12
Open your Nginx Proxy Manager container that you have previously installed at STEP 3. Click Add Proxy Host. A new pop up window will open. Add the following details:
Domain Names: Type in your own noip domain name that you have previously created at STEP 4.
Scheme: http
Forward Hostname/IP: Type in the local NAS IP of your UGREEN NAS.
Forward Port: Type in the Tube Archivist local Port that is 8770
Check Block Common Exploits
Check Websockets Support
Click the SSL tab. Follow the instructions in the image below.
STEP 13
After you click the SSL tab, add the following details:
SSL Certificate: Request a new SSL Certificate
Check: Force SSL
Check: HSTS Enabled
Check: HTTP/2 Support
Email Address for Let’s Encrypt: Type in your own Email Address.
Check: I Agree to the Let’s Encrypt Terms of Service.
Click Save. Follow the instructions in the image below.
STEP 14
In the Proxy Hosts area, if everything goes right, you will see that your hostname has been generated. Click on it. Follow the instructions in the image below.
STEP 15
Now open your browser and type in your HTTPS/SSL certificate like this https://yourownhostname.ddns.net In my case it’s https://mariusarchivist.ddns.net If everything goes right, you will see the Tube Archivist Login page. Type in your own Username (TA_USERNAME) and Password (TA_PASSWORD) that you have previously created at STEP 9, then click Login. Follow the instructions in the image below.
STEP 16
Click the Channel tab, then the + icon. In the apposite area, type in your favorite YouTube channel URL, then click Subscribe. Follow the instructions in the image below.
STEP 17
Click the Downloads tab. Click Rescan subscriptions. Wait until all the videos in the channel are in queue and remember that this can take a few minutes before you will be able too see them. Follow the instructions in the image below.
Enjoy Tube Archivist on your UGREEN NAS!
⚠️Mandatory Add Read & Write Permissions to the Docker Folder. If you have already added the Read and Write Permissions to the Docker Folder, skip this STEP.
This post was updated on Monday / March 10th, 2025 at 2:49 AM