After the demise of the much loved Google Reader I’ve pretty much tried every RSS service out there and have always come back to TT-RSS (https://tt-rss.org/). It’s clean, very functional and give me everything I need to track all my RSS feeds. This is a guide to setting it up with the offical Docker container using the GUI front end of Synology Docker.
This tutorial is going to assume a number of basics are already in place but I’ll look to expand on these in future posts. Because Synology DSM doesn’t support docker-compose from the GUI we have to do each part by hand and it’s this docker-compose file that we’re going to replicate https://git.tt-rss.org/fox/ttrss-docker-compose/src/static-dockerhub/docker-compose.yml Four containers in total need to be set up.
First of all we’re going to start with the database of which TTRSS recommend the use of Postgres.
- Open Docker in DSM
- Navigate to Registry and search for the Postgres official container and download it
- Once downloaded go to Image and launch postgres. Give it a name you’ll recognise and click advanced settings
- Select ‘Enable auto-restart’ This setting will start the container for you when you reboot your NAS
- In the ‘Volume’ tab select a folder for the database to be saved with the mount path as ‘/var/lib/postgresql/data’
- Network & Links should be left as the default values.
- For ports enter a port number you wish to use, I’ve used a local port of 5434
- Add the following entries into Environment (POSTGRES_DB, POSTGRES_USER & POSTGRES_PASSWORD). The values can be anything you want them to be.
- Now start the container and check the logs to confirm all is well
Now it’s time for the app (cthulhoo/ttrss-fpm-pgsql-static). Download it in the same way as you did for Postgres. You’ll then need to enter the following settings
Volumes – mount path of ‘/var/www/html’ to a folder on your NAS
Links – select the container set up previously with an Alias of ‘db’
Ports – leave this as Auto
TTRSS_DB_PASS – the password you used in the db container
TTRSS_DB_USER – the user you used in the db container
TTRSS_DB_NAME – the db name you used in the db container
TTRSS_DB_HOST – db
TTRSS_PORT – 5432
TTRSS_DB_TYPE – pgsql
OWNER_GID – see https://blog.oliroe.com/2020/04/17/how-to-obtain-your-puid-pgid/(opens in a new tab)
OWNER_UID – as above
TTRSS_SELF_URL_PATH – the address to be used to access the app in the format http(s)://ADDRESS:XXXX/tt-rss/ where XXXX is the port number you wish to use to access TTRSS
Next, set up a container for ‘web’ using the image called cthulhoo/ttrss-web-nginx. It requires the port you have used in the SELF_URL_PATH above against the container port 80 and it requires a volume with mount path /var/www/html. Link the container to the ‘app’ container as below.
Next is the container to update the feeds. Set up the container cthulhoo/ttrss-fpm-pgsql-static as before but add the command in the environment tab ‘/bin/sh /opt/tt-rss/updater.sh’. This container also needs to be linked to the app and db container as shown
Once all those containers have been set up and running it’s now ready to be set up the application on the address used for SELF_URL_PATH.