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.

A screenshot showing a fully running FreshRSS instance.

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

A screenshot showing the language selection prompt for FreshRSS.

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

A screenshot showing the dependency check prompt.

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

A screenshot showing the database selection prompt.

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

A screenshot showing the administrator user details for this instance.

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.

A screenshot highlighting the settings button for FreshRSS.

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.

A screenshot showing the registration toggle for the FreshRSS instance.

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

A screenshot highlighting the user management link.

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.

A screenshot highlighting the clickable user name inside the user management prompt.

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

A screenshot highlighting the

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.