selfoss is a free and open source web-based news feed reader and aggregator.


For this guide you should be familiar with the basic concepts of


The software is licensed under GPLv3. All relevant information can be found in the repository of the project.


We’re using PHP in the stable version 8.1:

[isabell@stardust ~]$ uberspace tools version show php
Using 'PHP' version: '8.1'
[isabell@stardust ~]$

You’ll need your MySQL credentials. Get them with my_print_defaults:

[isabell@stardust ~]$ my_print_defaults client
[isabell@stardust ~]$

The domain you want to use must be set up:

[isabell@stardust ~]$ uberspace web domain list
[isabell@stardust ~]$


Download and extract ZIP archive

Check the selfoss website or GitHub repo for the latest release and copy the download link to the ZIP file. Then cd to your DocumentRoot and use wget to download it. Replace the URL with the one you just copied.

[isabell@stardust ~]$ cd /var/www/virtual/$USER/
[isabell@stardust isabell]$ wget
Saving to: ‘’

100%[========================================================================================================================>] 2,881,068    819KB/s   in 3.7s

2018-09-24 10:49:50 (766 KB/s) - ‘’ saved [2881068/2881068]

Unzip the archive to the html folder and then delete it. Replace the version in the file name with the one you downloaded.

[isabell@stardust isabell]$ unzip
  inflating: html/common.php
  inflating: html/run.php
  inflating: html/cliupdate.php
[isabell@stardust isabell]$ mv selfoss/* html/
[isabell@stardust isabell]$ rm
[isabell@stardust isabell]$ rmdir selfoss
[isabell@stardust isabell]$


Setup your database

We recommend setting up a new database for selfoss.

[isabell@stardust ~]$ mysql -e "CREATE DATABASE ${USER}_selfoss"


Copy the default.ini to config.ini:

[isabell@stardust isabell]$ cd html
[isabell@stardust html]$ cp default.ini config.ini
[isabell@stardust html]$

Now edit config.ini file, change the database type to mysql and provide your MySQL credentials.


We also recommend password protection for your installation. First, generate a random string to use as salt.

[isabell@stardust html]$ pwgen 32 1

Copy the output and set it as salt in your config.ini.


Save the file and visit in your browser. Replace with your domain. Use the web form to generate a hash of your password and copy the hash.

Edit config.ini again and insert your user name and password hash:


You can now log in to your installation and start adding and reading feeds.

Check out the official selfoss documentation for explanation of further configuration parameters.

Cron job

It is recommended to set up a cron job to automatically update your feeds. Edit your cron tab using the crontab -e command and insert this cron job to update every 15 minutes. Make sure to replace /home/isabell/html/cliupdate.php with the path to the cliupdate.php script inside the selfoss folder.

*/15 * * * * php /home/isabell/html/cliupdate.php > /dev/null 2>&1

Tested with selfoss 2.19, PHP 8.1 and Uberspace 7.13.0

Written by: Nico Graf <>