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.