Tiny Tiny RSS is a simple, yet highly flexible web-based RSS reader that you can install on your own server. It allows you to create your own personal library of RSS feeds that can automatically update and you can read feeds straight from your browser.
This article will show you how you can install Tiny Tiny RSS in Ubuntu.
Docker Installation
To get started, you need to install Docker, along with Docker Compose.
1. Fetch the package signing key from the Docker project’s website:
sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg
2. Create a new package repository file using your favorite text editor:
sudo nano /etc/apt/sources.list.d/docker.list
3. Paste the following inside your new repository file:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable
4. You can now refresh your package repositories and install Docker along with its companion applications:
sudo apt update sudo apt install git docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin
Obtaining and Setting Up Tiny Tiny RSS
1. Fetch its Git repository from the developer’s Github page:
git clone https://git.tt-rss.org/fox/ttrss-docker-compose.git cd ./ttrss-docker-compose
2. Switch to the main production branch for Tiny Tiny RSS.
git checkout static-dockerhub
3. Create a copy of the default environment file that came with the Git repository and re-save it as “.env”:
cp ./.env-dist ./.env
4. Open your new environment file using your favorite text editor:
nano ./.env
5. Scroll down to the “#ADMIN_USER_PASS=” variable, remove the pound sign (#) in front of it and add a secure password after the equal sign (=).
Note: You can generate a secure password by opening a new terminal and running the following command: cat /dev/urandom | tr -dc 'A-Za-z0-9' | fold -w 16 | head -n 1
.
6. Scroll down to the “#ADMIN_USER_ACCESS_LEVEL=” variable, remove the pound sign (#) in front of it and add “10” after the equal sign (=).
Doing this will ensure that your administrator account have the right permissions when you first boot up your instance.
7. Scroll down to the “TTRSS_SELF_URL_PATH=” variable and replace its value with the domain name hosting your Tiny Tiny RSS installation.
8. Save your local “.env” file and pull the Docker images for Tiny Tiny RSS from Dockerhub:
docker compose pull
9. You can now build the Docker Compose suite for your local instance:
docker compose up -d
Tip: Docker is more than just a way to get your web services up and running. Learn how you can use containers by understanding the basics of Docker management.
Setting Up a Reverse Proxy with Nginx
At this point, you now have a working Tiny Tiny RSS container broadcasting on port 8280. However, in order to access this publicly, you need to provide a reverse proxy that will handle incoming connections from outside your network.
1. Install Nginx on your machine:
sudo apt install nginx
2. Create a new site config file for your reverse proxy:
sudo nano /etc/nginx/sites-available/ttrss
3. Paste the following block of code inside your blank reverse proxy config file:
server { listen 80; listen [::]:80; root /var/www/html; server_name ttrss.myvpsserver.top; location / { proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://127.0.0.1:8280; } }
4. Create a symbolic link for your new reverse proxy config file:
sudo ln -s /etc/nginx/sites-available/ttrss /etc/nginx/sites-enabled/
5. Remove the default Nginx config file and enable the Nginx daemon:
sudo rm /etc/nginx/sites-enabled/default sudo systemctl enable --now nginx.service
Generate SSL certificate
With a reverse proxy running, the next thing that you need to do is to enable encryption for incoming connections.
1. To enable SSL, you need to make sure that your machine has a working and up-to-date snap daemon:
sudo snap install core sudo snap refresh core
2. Install the Certbot utility:
sudo snap install certbot --classic
3. Register your new certbot installation to the EFF by running the following command:
sudo certbot register --agree-tos --email ramces@email.invalid
4. Request for an SSL certificate for your domain URL:
sudo certbot --nginx -d ttrss.myvpsserver.top
Good to know: Learn how encryption works in untrusted, public networks by creating your own certificate using OpenSSL.
Using Your Tiny Tiny RSS Instance
You can now access your new Tiny Tiny RSS instance by accessing your domain URL.
Login with “admin” and your secure password.
Click the Menu icon on the page’s upper right corner.
This will bring up a small menu where you can manage both your instance and the lists inside it. Click the “Subscribe to feed…” option under the “Feed actions:” category.
Paste the RSS link for the feed that you want to subscribe to, then click “Subscribe.”
Refresh the Tiny Tiny RSS page to reflect your new RSS feed listings.
Creating New Feed Categories
Aside from subscribing to RSS feeds, Tiny Tiny RSS also supports the ability to organize existing feeds in your instance. This can be helpful in cases where you have similar feeds that you want to sort under one general category.
1. To create a new feed category, press the Menu button on the page’s upper right corner, then click “Preferences…”
2. Click the “Feeds” on the page’s top bar.
3. Click the “Categories” drop-down box inside the “My Feeds” subframe, then click “Add Category.”
4. Write a name for your new feed category, then press “OK.”
Editing Current RSS Feeds
With a new feed category up, you can now include all of your existing RSS links under it. To do this, go back to the Preferences menu and click “Feeds.”
Click the RSS feed that you want to modify. This will bring up a small window that will list all the available options for your feed.
Click the drop-down box beside the “Place in category:” label and select your new category.
Click “Save” to save your new settings, then click “Exit Preferences” to go back to your instance’s home page.
Self-hosting your RSS reader is only the first step in taking back your digital sovereignty. Learn how you can host your own content platform by deploying WordPress over Docker as well as create your own Twitter clone using Pleroma.
Image credit: a wireless key on a black laptop keyboard by 123RF. All alterations and screenshots by Ramces Red.
Our latest tutorials delivered straight to your inbox