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. steef steef

    Hi , i completely followed the guide, but after the last change for the spotweb page i get:

    Unable to connect to database:
    No database settings have been entered, please use the ‘install.php’ wizard to install and configure Spotweb.
    If you are upgrading from an earlier version of Spotweb, please consult https://github.com/spotweb/spotweb/wiki/Frequently-asked-questions/ first

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

    i followed the guide completely, after finishing database settings in spotweb i was able to connect (sneak peak on new tab) but when entering the Environment Variables i get the message above.

    can you help?

    • Dr_Frankenstein Dr_Frankenstein

      Hey – I might email you as this can be tricky when it doesn’t work first time – Can you see a file in /docker/spotweb called dbsettings.inc.php check to see if it contains the settings your entered.

      • Steef Steef

        Hi!

        Yes, it contains all the settings i have entered.

        please email me if needed.

        • Dr_Frankenstein Dr_Frankenstein

          Apologies stuck in my pending comments I have some time later on to help you out.

      • Steef Steef

        my other comment seems to be gone, but yes i have the file created with the settings as entered

    • Dr_Frankenstein Dr_Frankenstein

      The guide has now been rewritten – start from scratch as it uses different containers.

  2. zaadstra zaadstra

    I get stuck on:

    SQLSTATE[HY000] [2002] Connection refused

    Please correct the errors in below form and try again

    Syno DSM 6.2.4.

      • zaadstra zaadstra

        Yes! Port setting was gone …. Took me a while :-/

        Thanks, great tutorial. I only wish to hack in a big nzb button (instead of small link). I can’t find how this is done.

  3. ikkeenjij36 ikkeenjij36

    Hello after running your instruction i got everything up and running almost
    I getting error in the install.php page and i know what it is but nit how to sove it
    This is the error i get
    ‘;
    Database support NOT OK
    MySQL (PDO) NOT OK
    PostgreSQL (PDO) NOT OK
    SQLite (PDO) NOT OK
    GD OK
    FreeType Support OK
    GIF Read Support OK
    GIF Create Support OK
    JPEG Support OK
    PNG Support OK
    OpenSSL
    At least 1 of these must be OK
    these modules are sorted from fastest to slowest openssl NOT OK
    gmp OK
    bcmath NOT OK
    Can create private key? OK
    Cache directory
    Cache directory is writable? OK
    I hope you can help me to get it running?
    I need spotweb for my dutch stuff
    Thnx in advance

    • Dr_Frankenstein Dr_Frankenstein

      Hey. Are you still having an issue – this would suggest the database is not connecting, try amending the IP use either the NAS IP or the Synobridge Gateway IP of 172.20.0.1

      • eric eric

        i am not geeting into the mariadb through phpmyadmin it says 172-0-17-1 not alowed to connect
        And aslo when i give an install phph it is trying to connect to db already running on the syno by port 3306 and that is where the direct db and spotweb are running on with ip 192.168.0.125

      • eric eric

        tried your soluyion not only is the db server gone away it also listens to port 3306 while i changed that to port 3307 cause on 3306 is running syno pkg mariadb

        • Dr_Frankenstein Dr_Frankenstein

          Hey sorry just realised I didn’t approve your other comment. So when you moved to port 3307 did you just change the External Port and kept the Container Port as 3306?

            • Dr_Frankenstein Dr_Frankenstein

              You only change the external port to something alternative the container port needs to remain on its default of 3306 – Ping me a message via my contact page or jump on Matrix or Discord as might be easier to go through 🙂

  4. Kennyw Kennyw

    Hey Doc, I’m having a problem forcing Spotweb to retreive spots before January 2023. Trying to use the special calender to pick November 1, 2009, but it’s not sticking. Keeps reverting back to January 2023. Is there a setting or environment variable I can add/modify in the container to tell SpotWeb to retrieve all Spots starting from a particular date in the past?

    Thanks for the excellent tutorial by the way. Had no problem following it to succession.

    • Dr_Frankenstein Dr_Frankenstein

      Hey – So I thought they had fixed this bug a few weeks ago – Initially try to select some random dates and save them. Then jump back to 2011 and see if that fixes it. If not let me know as we may need to edit the database / run a couple of commands..

      • kennyw kennyw

        No luck Doc. Even tried uninstalling/reinstalling Spotweb container, and still nothing alters the date for retreiving Spots. This info must be stored in the DB for I’m not able to locate any file using SSH to modify using VI editor.

        • Dr_Frankenstein Dr_Frankenstein

          OK hold fire – I will ping you an email just digging out the commands.. I will then update the guide with them.

        • Dr_Frankenstein Dr_Frankenstein

          FAQ Updated – for some reason on the latest version it seems to want the full path rather than just calling the file

    • RieS RieS

      Hi, thanks for this extensive setup guide, much appreciated. I had Spotweb running directly on DSM but I was a bit reluctant to go to DSM 7 not sure if it would still work. So with running it in Docker that should not be an issue anymore.

      However I’m facing the same thing as Kennyw, no old spots are downloaded. Here I’m only getting updates of today, no older than 9 hours. Tried several dates without luck.
      Would be great if we could manage to get it downloading older spots. I’ll monitor the guide in case updates are added.

      Thanks in advance for your efforts to get this fixed

      • RieS RieS

        Oh, not sure if this is related but when I look at my running containers in DSM, I see that the Spotweb container is constantly using 20% cpu and MariaDB abut 5-6% cpu (all other are < 1%).

        So could it be that it’s still trying to do the huge download of all spots in the background but that the webpage is somehow already showing the latest results?

      • Dr_Frankenstein Dr_Frankenstein

        Hey so do the following I will be adding to the FAQ shortly

        While Spotweb is running go into the Container Details in the Docker UI and then click the Terminal tab and click Create

        In the new window enter the following pressing Enter after each, this ‘should’ reset the issue with the database as it seems to get stuck..

        php upgrade-db.php –reset-db

        php upgrade-db.php –clear-cache -yes

        • RieS RieS

          Hi,

          Thanks, those commands did seem to work.
          Just to be sure and clean everything up I redid the whole setup.
          Looking at the docker terminal the initial retrieve took quite some time so maybe that was part of my issue that I was impatient, who knows.

          Seems to be working now. I’ll keep monitoring the auto updates. Have it set to * */1 * * * instead of every 15 minutes. Seems to run a tiny bit slower than as a package directly on DSM so it has some more time to finish the process.

        • Mark Mark

          Hi, managed to install Spotweb flawlessly using your guide. What a great detailed guide! Thank you so much for this, Dr! Two suggestions to add to the guide:

          On Page 4- Spotweb type you may consider to add that it can take a while before page 99 shows up after clicking on Create system. In my case at least it took almost 15 – 20 minutes before the page showed up.
          On Page 2 – Database settings I had to use the synobridge ip. The ip of my NAS resulted in error after clicking on Verify database.

          I do have one problem though. All articles were downloaded, looking at the progress in the Terminal window. It finalized successfully after two hours. Nonetheless, the Spotweb page only shows a few spots (around twelve).
          So I thought, let’s try your suggestion from the FAQ:


          While Spotweb is running go into the Container Details in the Docker UI and then click the ‘Terminal’ tab and click ‘Create’. In the new window enter the following (pressing Enter after each)
          php upgrade-db.php –reset-db
          php upgrade-db.php –clear-cache -yes

          If I enter ”php upgrade-db.php –reset-db” in the black (bash) terminal windows (right behind “root@spotweb:/#”) an hit Enter the result I’m getting is:

          ‘Could not open input file: upgrade-db.php’

          Any ideas why the downloaded articles do not completely show up in Spotweb and why your suggestion from the FAQ does not work?

          Thanks, Mark

          • Dr_Frankenstein Dr_Frankenstein

            FAQ Updated – for some reason on the latest version it seems to want the full path rather than just calling the file

            As to why – it seems like a bug but doesn’t happen for everyone!

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!