How you can Self-Host a RSS Reader with FreshRSS

FreshRSS is an easy and straightforward 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 you can entry out of your net browser.
This text will present you methods to set up FreshRSS on Ubuntu. We may even spotlight how one can configure the reader for a multi-user session.
One of many largest promoting factors of FreshRSS is that it comes with a built-in net scraper. This implies you can create primary RSS feeds even on web sites that don’t assist it.
FreshRSS additionally helps push notifications on fashionable content material platforms. Because of this, the platform may be extremely fast and reactive to submit updates. Lastly, additionally it is easy to put in which makes it a really perfect challenge for novice customers which are simply getting began with self-hosting.

Putting in FreshRSS
Assumption: This text assumes that you’ve got a working area title with an A and PTR report pointing to your VPS occasion’s IP deal with and hostname.
We will likely be utilizing Docker to put in FreshRSS.
Set up Docker
Fetch the Docker repository’s signing key from the challenge’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 steady
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 person’s house 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: information: 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: - information:/var/www/FreshRSS/information - 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 working, subsequent we’ll configure Nginx to d a reverse proxy so you possibly can entry it publicly through your area title.
To begin, create an Nginx website configuration file on 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 all the pieces 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 working the next command:
sudo certbot register --agree-tos -m you@your-email.invalid
Request an SSL certificates on your occasion by working the next command:
sudo certbot --nginx -d your-freshrss-domain-name
Open an internet browser and navigate to the deal with 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 can load FreshRSS’ self-test module which is able to test whether or not the present occasion is working correctly. To proceed, scroll all the way 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 person, then click on “Submit” to create it.

Click on “Full set up” to correctly begin your new FreshRSS occasion.
Enabling Person Registration
To begin, 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 “Person 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 Current Person’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.”

It will carry up a web page with an inventory of the present customers in your FreshRSS occasion. Click on the title of the person that you simply need to disable.

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

Internet hosting your personal web-based RSS feed reader is simply the beginning of taking on your private information on-line. Study how one can host your personal video sharing web site with Peertube.
Picture credit score: Yongma Search engine optimization through Unsplash and FreshRSS Github (Emblem). All alterations and screenshots by Ramces Purple.