OpenSource-Hub
S

selfoss

2.5k stars·System Optimization·SHA-256 checksum verified

A multipurpose RSS reader and feed aggregator that lets you follow updates from websites, social networks, and other platforms in one place.

Smart Download

Visit Project Homepage

No installer available yet — head to the source repository

A lightweight, self-hosted RSS aggregator that brings all your feeds into one clean interface.

Core Features

  • Aggregate RSS, social networks, and more into a single stream
  • Supports SQLite/MySQL with zero-config start
  • OPML import/export for easy migration
  • Responsive web UI works on desktop and mobile
  • Automatic feed updates via cron/systemd timer

What It Can't Do

  • When upgrading, always back up the data/ directory and config.ini, and never delete data/ (only overwrite other files). The .htaccess file must be uploaded otherwise routing breaks. New config options may appear in newer versions – merge your customizations accordingly. The project is maintained in spare time, so new features may arrive slowly; not ideal for mission-critical or time-sensitive feeds.

Use Cases

  • Run your own RSS reader without relying on third-party services
  • Monitor updates from multiple blogs, forums, social accounts simultaneously
  • Replace Google Reader or Feedly while keeping data local

Detailed Introduction

selfoss is an open-source, self-hosted RSS reader and feed aggregation web application written in PHP. It allows you to effortlessly track updates from multiple web sources, social networks, and other platforms in a unified interface. The software supports OPML import, SQLite/MySQL databases, and can be configured via simple config.ini file. Its browser-based UI is clean and responsive, with a mobile-friendly design and an official Android third-party app. The project is maintained by volunteers and welcomes contributions. Compared to Tiny Tiny RSS, selfoss offers a lighter footprint (no heavy dependency stack) and simpler setup—just upload files, set permissions, and go. However, its smaller community may mean slower updates and fewer extensions.

Troubleshooting & FAQ (2)

How-to
How to hide or disable the 'Mark as read' button in selfoss to avoid accidental clicks?

Add the following CSS to your user.css file in the selfoss root directory:

#nav-mark {
    display: none;
}

If the file does not exist, create it. This hides the button without a configuration option. A future update may add an undo feature.

GitHub Issue #1548
Troubleshooting
Why does selfoss on mobile try to load a JavaScript file from a wrong path like /unread/index.runtime.22332b9a.js, causing a 404 error?

This is a known bug in the Parcel bundler (see parcel-bundler/parcel#9092). A workaround is to add this nginx rewrite rule to redirect the misspecified path to the correct public directory:

location ~* ^/(unread|newest|starred)/(.+\\.js) {
  try_files /public/$2 =404;
}

This redirects requests like /unread/index.runtime.22332b9a.js to /index.runtime.22332b9a.js. The issue primarily affects mobile views (iOS Safari) but may occur in other contexts. No side effects have been reported with this fix. A permanent fix will come from the Parcel project.

GitHub Issue #1478

Tags

rssfeed-readeraggregatorphpself-hosted

Getting Started

1

Download installer

Click the button above to download the installer for your system

2

Install the software

Double-click the downloaded installer and follow the prompts

3

Step 1: Download the stable zip and extract it to your web server directory (e.g., Apache/Nginx)

4

Step 2: Make sure directories data/cache, data/favicons, data/logs, data/thumbnails, data/sqlite are writable

5

Step 3: Rename config-example.ini to config.ini; for MySQL fill in credentials (SQLite works out of the box)

Install Guide
  1. Step 1: Download the stable zip and extract it to your web server directory (e.g., Apache/Nginx)
  2. Step 2: Make sure directories data/cache, data/favicons, data/logs, data/thumbnails, data/sqlite are writable
  3. Step 3: Rename config-example.ini to config.ini; for MySQL fill in credentials (SQLite works out of the box)
File Integrity

Checksum not available

This project has not published a SHA-256 checksum on its GitHub Release page

SHA256 Checksum

No checksum available

Download directly from GitHub Releases and verify file integrity yourself

All SHA-256 checksums on this platform are extracted from the project's official GitHub Release page, without any modification. You can independently verify them on the GitHub Releases page.

Open Source Transparency

View GitHub Source
Environment Guide

Uninstall Info

Simply delete the selfoss directory. Back up the data/ folder and config.ini first if you need to keep your data.

No Extra Dependencies

Ready to use after download. No additional runtime required.

Project Info
LicenseGPL-3.0
Last Updated2026-06-26 22:00:27
GitHub RepositoryOfficial Website

Having issues? Check the FAQ below

2 FAQs

Similar Projects