Home

Awesome

selfoss 2.20-SNAPSHOT

selfoss is a multipurpose RSS reader and feed aggregation web application. It allows you to easily follow updates from different web sites, social networks and other platforms, all in single place. It is written in PHP, allowing you to run it basically anywhere.

For more information visit our web site.

Status

selfoss is currently maintained by Jan Tojnar in his free time. Due to the limited capacity, maintenance is prioritized over new features. Pull requests are welcome, see the Contributing guide.

Download

Installation

  1. Upload all files of this directory (IMPORTANT: also upload the invisible .htaccess files).
  2. Make the directories data/cache, data/favicons, data/logs, data/thumbnails and data/sqlite writeable.
  3. Insert database access data in config.ini (see below). You do not need to change anything if you want to use SQLite.
  4. You do not need to create the database tables, they will be created automatically (ensure that your database user is allowed to create triggers).
  5. Create cronjob or systemd timer for updating feeds and point it to https://yourselfossurl.com/update via wget or curl. You can also execute the cliupdate.php from command line.

If you obtained selfoss using Git, some more steps will be required. See the development section.

For further questions or on any problem use our support forum: https://forum.selfoss.aditu.de/

Configuration

No configuration is needed to use selfoss but you can customize the settings as follows:

  1. Rename config-example.ini to config.ini.
  2. Edit config.ini and delete any lines you do not wish to override.
  3. See https://selfoss.aditu.de/ for examples.

Update

  1. Backup your database and your data/ directory.
  2. (IMPORTANT: do NOT delete the data/ directory) delete all old files and directories excluding the directory data/ and the file config.ini
  3. Upload all new files and directories excluding the data/ directory (IMPORTANT: also upload the invisible .htaccess files).
  4. Consult the NEWS file to learn about backwards incompatible changes.
  5. Clean your browser cache.
  6. Insert your current database connection and your individual configuration in config.ini. Important: we change the config.ini and add new options in newer versions. You have to update the config.ini too.
  7. The database will be updated automatically (ensure that your database user is allowed to create triggers).

If you obtained selfoss using Git, some more steps might be required. See the development section.

For further questions or on any problem use our support forum: https://selfoss.aditu.de/forum

Support

OPML import

Selfoss supports importing OPML files. Find the OPML export in the old application, it is usually located somewhere in settings. Then visit the page https://yourselfossurl.com/opml and upload it there.

Third-party Apps

We recommend Reader For Selfoss for Android devices.

Development

Selfoss uses composer and npm for installing external libraries. When you clone the repository you have to issue composer install to retrieve the external sources.

For the client side, you will also need JavaScript dependencies installed by calling npm install in the client/ directory. You can use npm run install-dependencies as a shortcut for installing both sets of dependencies.

We use Parcel (installed by the command above) to build the client side of selfoss. Every time anything in client/ directory changes, you will need to run npm run build for the client to be built and installed into the public directory. When developing, you can also use npm run dev; it will watch for asset changes, rebuild the bundles as needed, and reload selfoss automatically. Upon switching between npm run dev and npm run build, you may need to delete client/.cache.

If you want to create a package with all the dependencies bundled, you can run npm run dist command to produce a zipball.

Every patch is expected to adhere to our coding style, which is checked automatically by CI. You can install the checkers locally using npm run install-dependencies, and then run the checks using npm run check before submitting a pull request. There is also npm run fix, that will attempt to fix the formatting.

Credits

selfoss was created by Tobias Zeising, and the source code is licensed under the GNU General Public licence version 3, or (at your option) any later version.

Some parts of the source code can be licensed under version 3 only, we are currently trying to resolve it.

The package with bundled dependencies might be distributed under version 3 only.

Very special thanks to all contributors of pull requests here on GitHub, as well as translators on Weblate. Your improvements are awesome!

Special thanks to the great programmers of these libraries used by selfoss:

Icon made by http://blackbooze.com/

Package repository hosting is graciously provided by Cloudsmith. Cloudsmith is the only fully hosted, cloud-native, universal package management solution, that enables your organization to create, store and share packages in any format, to any place, with total confidence.