The best way to Self-Host a RSS Reader with FreshRSS

FreshRSS is an easy and simple to deploy web-based RSS feed reader for Linux servers. Much like Tiny Tiny RSS, it really works by offering a clear, cross-platform interface that you may entry out of your net browser.
This text will present you the way to set up FreshRSS on Ubuntu. We can even spotlight how one can configure the reader for a multi-user session.
One of many greatest promoting factors of FreshRSS is that it comes with a built-in net scraper. This implies that you may create primary RSS feeds even on web sites that don’t help it.
FreshRSS additionally helps push notifications on fashionable content material platforms. Consequently, the platform may be extremely fast and reactive to publish updates. Lastly, it is usually easy to put in which makes it a super venture for novice customers which are simply getting began with self-hosting.

Putting in FreshRSS
Assumption: This text assumes that you’ve a working area identify with an A and PTR document pointing to your VPS occasion’s IP tackle and hostname.
We will likely be utilizing Docker to put in FreshRSS.
Set up Docker
Fetch the Docker repository’s signing key from the venture’s web site:
curl -fsSL https://obtain.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /and so on/apt/keyrings/docker.gpg sudo chmod a+r /and so on/apt/keyrings/docker.gpg
Create a brand new repository file for Docker:
sudo nano /and so on/apt/sources.checklist.d/docker.checklist
Write the next line of code inside your new repository file:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://obtain.docker.com/linux/ubuntu jammy secure
Refresh your system repositories, replace your system, and set up the Docker binaries:
sudo apt replace && sudo apt improve sudo apt set up docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx
Constructing the FreshRSS Docker Container
Make a brand new listing in your consumer’s residence listing for FreshRSS and go inside it:
mkdir ~/freshrss && cd ~/freshrss
Create a “docker-compose.yml” file utilizing your favourite textual content editor:
nano ./docker-compose.yml
Paste the next block of code inside your new docker-compose file:
--- model: "2.4" volumes: knowledge: null extensions: null providers: freshrss: picture: freshrss/freshrss:newest construct: context: https://github.com/FreshRSS/FreshRSS.git#newest dockerfile: Docker/Dockerfile-Alpine container_name: freshrss hostname: freshrss restart: unless-stopped logging: choices: max-size: 10m volumes: - knowledge:/var/www/FreshRSS/knowledge - extensions:/var/www/FreshRSS/extensions ports: - "8080:80" setting: TZ: Asia/Manila # CHANGE TO YOUR TIMEZONE CRON_MIN: 3,33
Save your docker-compose.yml file. Run the next command the construct your docker container:
sudo docker compose up -d
Setting Up Reverse Proxy and SSL
As soon as the FreshRSS occasion is up and operating, subsequent we are going to configure Nginx to d a reverse proxy so you’ll be able to entry it publicly by way of your area identify.
To start out, create an Nginx website configuration file in your occasion:
sudo nano /and so on/nginx/sites-available/freshrss
Paste the next block of code inside your new website configuration file:
server { hear 80; hear [::]:80; root /var/www/html; server_name freshrss.your-domain-name.right here; 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://localhost:8080; } }
Save your new website configuration file and run the next command to create a symbolic hyperlink to “/and so on/nginx/sites-enabled”:
sudo ln -s /and so on/nginx/sites-available/freshrss /and so on/nginx/sites-enabled/
Take a look at your Nginx configuration:
If every little thing is ok, reload your Nginx server daemon and enabling it on system startup:
sudo systemctl reload nginx
Enabling SSL For Your Occasion
To acquire an SSL certificates, set up the core snap daemon to your system:
Fetch and set up the Digital Frontier Basis’s (EFF) certbot utility utilizing snap:
sudo snap set up certbot --classic
Register your certbot set up to the EFF by operating the next command:
sudo certbot register --agree-tos -m you@your-email.invalid
Request an SSL certificates in your occasion by operating the next command:
sudo certbot --nginx -d your-freshrss-domain-name
Open an internet browser and navigate to the tackle of your new FreshRSS occasion. Click on the dropdown checklist on the web page and choose the language that you really want FreshRSS to run on, then click on “Submit.”

Doing that may load FreshRSS’ self-test module which can test whether or not the present occasion is operating correctly. To proceed, scroll right down to the underside of the web page, then click on “Go to the subsequent step.”

Click on the dropdown checklist, choose “SQLite” then click on “Submit.”

Fill within the particulars of your occasion’s administrator consumer, then click on “Submit” to create it.

Click on “Full set up” to correctly begin your new FreshRSS occasion.
Enabling Consumer Registration
To start out, login to your FreshRSS administrator account, then click on the cog icon on the web page’s higher proper nook.

Scroll to the “Administration” class, then choose “System configuration.”
Go to the “Consumer registration kind” subcategory, click on the dropdown field beside the “Registration kind”, then choose the “Enabled: No restrict of accounts.” choice.

Save your new website configuration by clicking the “Submit” button on the underside of the web page.
Wiping an Present Consumer’s Information
Go to your FreshRSS administrator account, then click on the cog icon on the web page’s higher proper nook.
Go to the “Administration” class, then choose “Handle customers.”

This can deliver up a web page with a listing of the present customers in your FreshRSS occasion. Click on the identify of the consumer that you simply need to disable.

Click on the “Purge” button to wipe the consumer’s RSS feeds clear.

Internet hosting your individual web-based RSS feed reader is simply the beginning of taking on your private knowledge on-line. Be taught how one can host your individual video sharing web site with Peertube.
Picture credit score: Yongma Website positioning by way of Unsplash and FreshRSS Github (Emblem). All alterations and screenshots by Ramces Crimson.