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

    Thanks for the guides! They’re great. Any other way available to buy you a coffee that CC though?

    • Dr_Frankenstein Dr_Frankenstein

      I have crypto if thats easier, I don’t do Paypal as it would give out all my personal info.

  2. Jay D Jay D

    Hi dr_frankenstein,

    Thanks for all your helpfull tutorials. They really help a lot!

    I cant seem to get mariadb working as intended. When i install it following you’re guide, i get permission errors and the container automatically stops.

    2022-08-25T20:58:44.058541322Z stdout 2022-08-25 20:58:44 0 [ERROR] Aborting
    2022-08-25T20:58:44.058499429Z stdout /usr/sbin/mariadbd: Can’t change dir to ‘/var/lib/mysql/’ (Errcode: 13 “Permission denied”)
    2022-08-25T20:58:44.058350586Z stdout 2022-08-25 20:58:44 0 [Warning] Can’t create test file /var/lib/mysql/mariadb.lower-test

    when i change permissions on the “mariadb” folder to read/write for group everyone, it works, creates the database the tables etc.

    When i do the same for the group “users” or/and administrators it also does not work. Is there something im doing wrong?

    • Dr_Frankenstein Dr_Frankenstein

      Unfortunately neither of these containers have a way to specify the internal user which makes file permissions tricky as Spotweb runs as its own root user and MariaDB seems to have its own internal user.

      I had on the pad to swap the MariaDB container over the LinuxServer image instead. As it allows to the pass in of PUID and PGID variables. If you can hold out a couple of days I will push that to the top of the list for amendments over the weekend. If you want to try and push on in the interim this is the image to pull instead of the generic one take a look at the Docker Compose section to see the Environment variables to use..

    • Dr_Frankenstein Dr_Frankenstein

      Hey, I have swapped the MariaDB container over to the LinuxServer version – you will need to follow the Creating a Docker User guide to get you PUID and PGID. This should remove any permission issues

  3. Jeroen Jeroen

    Hi Dr Frankenstein, question: the network for mariadb is also the new created synology bridge? The picture says yes, but the text says default bridge

    • Jeroen Jeroen

      Hmm. Know for sure that the passowrd is coorect. Still get error acces diened.
      For root@172.x.x..x

      • Dr_Frankenstein Dr_Frankenstein

        Sorry ignore that last comment, try having the password with no special characters. I will update the guide to suggest avoiding @£# etc.

    • Dr_Frankenstein Dr_Frankenstein

      Oh missed that screenshot put it on the Synobridge will fix this evening

  4. xIExodusIx xIExodusIx

    Sorry I forgot to tell you that we had a power failure in our district yesterday night for about 2 hours. and after that this problem come up.

    • Dr_Frankenstein Dr_Frankenstein

      Hey, Did you have Spotweb running successfully before the power outage?

      • xiExodusIx xiExodusIx

        Yes it runs successfully, but now it won’t run because of mariadb did not work anymore. I have stopped both containers now. Waiting for a solution or help.

        • Dr_Frankenstein Dr_Frankenstein

          When I get home tonight I can help you get it up and running, are you able to join Discord so we can walk through? Helps me keep the solution for any else who has the issue. I think we can downgrade the database again. To a different release as you error log suggests it is unable to perform an upgrade.

  5. xIExodusIx xIExodusIx

    Hi Dr_Frankenstein,
    I have the same problem llike Chalky, mariadb ist starting and stopping the hole time. I have already checked the mount point, and it is set correctly by “File/Folder: /docker/mariadb”, “Mount-Point: /var/lib/mysql”.
    The aria_log file in the mariadb follder includes a lot of entrys (notes and errors):

    2022-05-27 20:29:23+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.8.3+maria~jammy started.
    2022-05-27 20:29:24+00:00 [Note] [Entrypoint]: Switching to dedicated user ‘mysql’
    2022-05-27 20:29:24+00:00 [Note] [Entrypoint]: Entrypoint script for MariaDB Server 1:10.8.3+maria~jammy started.
    2022-05-27 20:29:24+00:00 [Note] [Entrypoint]: MariaDB upgrade (mariadb-upgrade) required, but skipped due to $MARIADB_AUTO_UPGRADE setting
    2022-05-27 20:29:24 0 [Note] mariadbd (server 10.8.3-MariaDB-1:10.8.3+maria~jammy) starting as process 1 …
    2022-05-27 20:29:24 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
    2022-05-27 20:29:24 0 [Note] InnoDB: Number of transaction pools: 1
    2022-05-27 20:29:24 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions
    2022-05-27 20:29:24 0 [Warning] mariadbd: io_uring_queue_init() failed with ENOSYS: check seccomp filters, and the kernel version (newer than 5.1 required)
    2022-05-27 20:29:24 0 [Warning] InnoDB: liburing disabled: falling back to innodb_use_native_aio=OFF
    2022-05-27 20:29:24 0 [Note] InnoDB: Initializing buffer pool, total size = 128.000MiB, chunk size = 2.000MiB
    2022-05-27 20:29:24 0 [Note] InnoDB: Completed initialization of buffer pool
    2022-05-27 20:29:24 0 [ERROR] InnoDB: Upgrade after a crash is not supported. The redo log was created with MariaDB 10.7.3.
    2022-05-27 20:29:24 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
    2022-05-27 20:29:24 0 [Note] InnoDB: Starting shutdown…
    2022-05-27 20:29:24 0 [ERROR] Plugin ‘InnoDB’ init function returned error.
    2022-05-27 20:29:24 0 [ERROR] Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed.
    2022-05-27 20:29:24 0 [Note] Plugin ‘FEEDBACK’ is disabled.
    2022-05-27 20:29:24 0 [ERROR] Unknown/unsupported storage engine: InnoDB

    I run Docker on a Synology NAS DS918+ with DSM 7.1-42661 Update 1.

    I dont know how to sole this problem, could you please help?

    Thank you

    • I had the same issue, I’m not sure what ended up causing it, but I just deleted the DB since I had nothing other than spotweb in it at that time. Hoping it doesn’t come up again, but I might just change the MariaDB version to fixed instead of latest to prevent any updates from occurring

      • Dr_Frankenstein Dr_Frankenstein

        I will come back in a bit, I will check what I set on my personal setup.

    • Dr_Frankenstein Dr_Frankenstein

      Hey xIExodusIx, sorry for the late reply I am catching up on some missed comments. Have you fixed this yet? If not reach out on Discord or via the Contact Me page under the logo for the site.

      • xIExodusIx xIExodusIx

        Hi Dr_Frankenstein, no i havn’t fixed it until now. I’m thinking about to delete the “mysql” Folder, but not did it until now. Sorry for my late response, I have not been at homme for about 2 Weeks and could not read your reply.

        • Dr_Frankenstein Dr_Frankenstein

          Are you able to reach out on Discord so we can setup a thread 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!