1. Home
  2. Linux
  3. How to install freshrss on ubuntu server

How to install FreshRSS on Ubuntu Server

FreshRSS is a free, open-source self-hosted RSS feed aggregation tool. It can be installed on any Linux home server, and be configured to gather RSS feed items. It is a progressive web app and works on both desktop and mobile browsers. Here’s how to set it up on your Windows Server system.

How to install Docker on Ubuntu Server

The easiest way you can get FreshRSS up and running on your Ubuntu server system is with Docker. Why? Using a pre-configured container for FreshRSS takes away a lot of annoyances, like dependency resolution, web server configuration, etc. All you need to do is download, install and deploy.

However, you’ll first need to install Docker. Specifically, the “docker-ce” package on Ubuntu before you can deploy FreshRSS. To start, launch an SSH session, and log into your Ubuntu system. Once logged in, use the apt install command to install the packages below.

sudo apt install apt-transport-https ca-certificates curl software-properties-common

Next, use the curl command to download and configure the Docker GPG key for the Docker Ubuntu software repository. This GPG key is required to interact with hte official Docker repo.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Now it’s time to add the Docker Ubuntu repo to your Ubuntu system. You can do this with the following echo command.

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list

With the Docker GPG key and repo added to Ubuntu, you’ll need to run the update command to refresh Ubuntu’s software catalog. You can do this with the command below.

sudo apt update

Once your software catalog is up to date, install Docker using the following apt install command.

sudo apt install docker-ce

How to set up the FreshRSS Docker compose file

Deploying FreshRSS means creating a new Docker compose file. Docker compose files are automatic scripts that, once executed, will do exactly what you want in Docker. In this case, it’ll set up a base FreshRSS installation.

To start, create the folder “freshrss” to hold the Docker compose file. Keeping it in its own folder allows you to be a little more organized. You can create the new folder using the mkdir -p command.

mkdir -p ~/freshrss

Next, use the cd command to move into the new folder.

cd ~/freshrss

Using the touch command, create a new Docker compose file.

touch docker-compose.yml

Open up the Docker compose file in the Nano text editor.

nano -w docker-compose.yml

Paste the following code into the Nano text editor as-is.

---
version: "2.1"
services:
  freshrss:
    image: lscr.io/linuxserver/freshrss:latest
    container_name: freshrss
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
    volumes:
      - /path/to/data:/config
    ports:
      - 8080:80
    restart: unless-stopped

Save the edits to the Docker compose file in Nano by pressing Ctrl + O and exit with Ctrl + X. Then, start up the compose file with the command below.

sudo docker compose up -d

How to install FreshRSS

To install FreshRSS, open up a web browser on your computer, and navigate to the following URL to start the FreshRSS installation wizard.

http://your-server-ip-or-hostname:8080

Once the URL is open, you’ll see the message “Choose a language for FreshRSS.” Find the language drop-down menu, and set it to your preferred language. Then, click the “Submit” button to continue to the next page.

On the next page, the FreshRSS setup wizard will check and see if you have the corrected PHP plugins and packages to use the software. If you were to install FreshRSS by hand, you’d be responsible for getting each of these packages and setting everything up. However, the Docker container has all of this already taken care of. Scroll to the bottom of the page and click “Go to the next step.”

On the third step, you’re required to choose a type of database to use with FreshRSS. If you do not wish to mess around with databases, select Sqlite. Sqlite is a self-contained zero-config required database system. If you only plan to have a couple of users in FreshRSS, Sqlite is the best choice. Click the “Submit” button when done to continue.

Note: you can choose other database options for FreshRSS, like MariaDB or PostgreSQL, however, we will not be covering it in this guide.

After selecting a database, you need to create the default account. Choose a username and enter it in the username text box. Then, choose a password. Once you’ve set the username and password, select the “Submit” button to begin using FreshRSS.