Skip to content

Spotweb in Docker on Synology NAS

Please note if you are using DSM7.2 or higher you should use the Container Manager version of this guide from the menu.
UpdateDate
You can now amend the cron schedule to pull on your own schedule rather than the 5-minute default17/09/2023
Historic updates now at the end of the guide.

What is Spotweb?

To quote the GitHub page.

“Spotweb is a decentralized Usenet community based on the Spotnet protocol.”

It is essentially a self-hosted Usenet indexer that integrates with your favourite media managers such as Radarr, and I am going to walk you through setting this up in Docker on your Synology NAS

Let’s Begin

The guide has 2 pages:

  • Page 1 – Folder setup and Container Manager
  • Page 2 – Spotweb Changes and FAQ

Before we start with the main guide head over and follow these two guides to get a docker user and dedicated bridge network set up.




Downloading the Spotweb and MariaDB images

Open up Docker within DSM and navigate to the ‘Registry’ tab, then search for ‘Spotweb’.

In the list of available containers download the one made by erikdevries as shown below.

When the dialogue pops up asking you to choose a version, make sure you choose ‘latest’ from the list.

While the Spotweb image is downloading do another search for MariaDB as this is the database will we be using.

Download the official version as shown below using the ‘Latest’ tag when asked.




Setting up the MariaDB Container

In Docker click on the ‘Image’ tab, in the list of your containers select the ‘MariaDB’ image and click on ‘Launch’

The first screen will ask how you want to set up the Docker network, we will be using the synobridge network we set up earlier.

General Settings

Next you will be greeted with the General Settings screen, this is where you can start specifying some of your preferences.

You can change the name of the container to anything you like, and you will want to enable Auto Restart as this will ensure the database starts automatically if you reboot your NAS.

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.

Environment

Next we are going to specify some variables that will tell MariaDB what to use for our credentials so Spotweb can access it.

Click the Add button, and fill in the following details as per the table/screenshot. Make note of these you will need them later!

VariableValue
MYSQL_ROOT_PASSWORDenter a unique password do not use special characters and keep below 20 alphanumeric e.g. A-Z – 0-9
This is the master password for MariaDB in case you ever need it.
PUID(required) The UID you obtained in the user setup guide
PGID(required) The GID you obtained in the user setup guide
TZYour timezone wikipedia.org/wiki/List_of_tz_database_time_zones
MYSQL_DATABASEspotweb
MYSQL_USERenter a unique username for the spotweb database
MYSQL_PASSWORDenter a unique password do not use special characters and keep below 20 alphanumeric e.g. A-Z – 0-9 as this is known to cause issues if overly complex

You do not need to set up anything on these tabs.

Press ‘Save’ to go back to the initial setup screen, then press ‘Next’

Port Settings

You will see that the Local Port has Auto in it by default, change this to 3306 then click Next.

Volume Settings

We will now be specifying the directories where the database will be stored along with its config files.

Click on ‘Add Folder’ then select the ‘docker’ folder and create a new sub-folder called ‘mariadb’ click on this folder and click ‘Select’

Now in the Mount Path box enter /var/lib/mysql

Click ‘Next’

Summary

You have now completed the setup of the database. Click on Next to move back to the final summary screen, this is a good time to double-check everything is correct.

Finally, click on Done and the container should start to boot.




Setting up the Spotweb Container

We are now doing the initial setup and will be coming back to complete it later.

Head back into the Image tab and this time Launch the Spotweb image

You will be greeted with the Network screen, we will be using the ‘synobridge’ network we created earlier select it from the list and click Next.

General Settings

Next you can rename the container and enable auto-restart to make sure Spotweb starts up with your NAS, then click Next.

Environment Variables

We are now going to specify some additional variables, click on ‘Advanced Settings’

Click the Add button, and fill in the following details as per the table/screenshot.

VariableValue
TZYour timezone wikipedia.org/wiki/List_of_tz_database_time_zones
DB_NAMEspotweb
DB_USEREnter the same username from the MYSQL_USER setting you used for the MariaDB container
DB_PASSEnter the same password from the MYSQL_PASSWORD setting you used for the MariaDB container (Not the Root Password)
DB_PORT3306
DB_HOST172.20.0.1
CRON_INTERVAL‘*/5 * * * *’

#by default this is 5 minutes you can work out a different interval by using https://cron.help to adjust the timing e.g. ‘*/60 * * * *’ is every hour on the hour.

Click ‘Save’ then Click ‘Next’

Port Settings

Spotweb wants to use port 80, we need to move it to an alternative port, We will use 8085.

Click Next, you do not need to enter any information on the ‘Volume Settings’ page, click next again and then click ‘Done’ on the Summary to start the container.

Once the container starts you need to give it about 5 to 10 minutes to create all the required database tables so be patient while it does this! You should then be able to access the Web UI via your NASIP:8085

You can now move on to Page 2.


Pages: 1 2

Published inDockerSearch / Indexers 7.1SynologyUsenet

135 Comments

  1. Hello,
    Did the installation and this went fine. Then the spots were retrieved. This has stopped yesterday at 20:14 and since then no spots has retrieved anymore. What could this be?

    • Dr_Frankenstein Dr_Frankenstein

      Hey, have any more been retrieved since you posted? My most recent as of posting are from 2.5 hours ago.

      • Hello, It’s woking again, post coming in again. Was weird because this morning on another site it was up to date. But glad it’s ok for now. Thanks mate!

        • Dr_Frankenstein Dr_Frankenstein

          It sometimes depends on your usenet provider and when the files sync. So they can sometime be small delays of a few hours

  2. Jacco Jacco

    Hi, i’m new with docker. I installed sabnzbd first according your ttorial, it works fine. the next step is to install spotweb, now i have the same problem as Daniel: SQLSTATE(HY000) (2006) Connection timed out Please correct the errors in below and try again.
    The only thing that is different is the port of mariadb, i took 3308 because i use 3306 an 3307 for mariadb 5 and 10 on the local machine.
    Can you please advise?

    • Dr_Frankenstein Dr_Frankenstein

      Hey, this will probably be a bit easier to look at over Discord or email, when you set the ports did you just change the container port for Mariadb or both? If you already have a database setup you can use that instead if you want.

  3. Chalky Chalky

    Hi, I have followed your guide on setting up the Mariadb docker image, but mine keeps stopping and starting all the time. Any suggestions on what to check or look at to see what the issue is.

    • Dr_Frankenstein Dr_Frankenstein

      Can you see any files in the /docker/mariadb folder, does the log for the container give any errors?

      • Chalky Chalky

        no files being created. Looks like it is changing the owner of the directories to 999.
        If i change the ownersghip to anything else, it reverts back to 999.

        2022-02-23 16:52:19+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.6.5+maria~focal started.

        2022-02-23 16:52:19+00:00 [Note] [Entrypoint]: Switching to dedicated user ‘mysql’

        2022-02-23 16:52:19+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.6.5+maria~focal started.

        2022-02-23 16:52:19+00:00 [Note] [Entrypoint]: Initializing database files

        2022-02-23 16:52:19 0 [Warning] Can’t create test file /var/lib/mysql/mariadb.lower-test

        /usr/sbin/mariadbd: Can’t change dir to ‘/var/lib/mysql/’ (Errcode: 13 “Permission denied”)

        2022-02-23 16:52:19 0 [ERROR] Aborting

        • Dr_Frankenstein Dr_Frankenstein

          Can you double-check to make sure your mount point is /var/lib/mysql

          The 999 user is correct as this container runs as that user by default and doesn’t normally pose any issues, both on my live and test/guide systems.

          • Chalky Chalky

            Weird.

            I usally put all my docker mounts pointing to a directory called configs, which failed for mariadb, yet everything else works.

            changed it to docker\mariadb /var/lib/mysql from configs\mariadb /var/lib/mysql
            and the docker image is now working fine.

  4. i’m having a problem with the usenet server settings. My usenet provider 5 euro usenet isn’t indicated in the list and when i use Custom with all of the right information given the page dissepears and i have to restart from the beginning. Also i use my NAS’ Download Center for my usenet downloads and it is installed on an other port, like 118, can this also give a problem?
    So what i get is:
    Unable to connect to database:
    SQLSTATE[HY000] [1045] Access denied for user ‘tofke34’@’172.17.0.1’ (using password: YES)

    Please make sure your database server is up and running and your connection parameters are set

  5. Daniel N Daniel N

    I truly appreciate these tutorials, well written and easy to comprehend. I am having a problem on page 2 of the spotweb configuration GUI. Even though I have verified several times the tutorial and my username and both passwords I am getting a SQLSTATE(HY000) (2002) Connection timed out Please correct the errors in below and try again. Please advise. Thank You

    • Dr_Frankenstein Dr_Frankenstein

      Hey, it sounds like your database is not accessable, has anything been created in the /docker/mariadb.. Reach out via Discord or via my contact page as it will be easier to talk through.

Leave a Reply

Your email address will not be published. Required fields are marked *

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!