Selfoss RSS reader with a newspaper-style webfront UI, all in one container
50K+
All-in-one Docker image that bundles the selfoss RSS reader with the newspaper-style Selfoss-Webfront UI. Selfoss fetches and stores the full text of your RSS feeds; the webfront turns them into a good-looking personal newspaper. The recommended way to run it is the docker-compose stack in the repository (which adds a MySQL database and ready-made configuration), but the image also works standalone against your own database.
| Component | Version |
|---|---|
| Selfoss | 2.19 (official release) |
| Selfoss-Webfront | newspaper UI, Bootstrap 4.6.2 + jQuery 3.7.1 |
| Base image | php:8.3-apache |
SELFOSS_UPDATE_INTERVAL, set 0 to disable)HTML_UnEncode SQL function the webfront needs is installed automatically at container start| Port | Service |
|---|---|
80 | the newspaper (webfront) |
8080 | selfoss feed management UI |
You need a MySQL (or MariaDB) database with a database and user for selfoss, e.g.:
CREATE DATABASE selfoss CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
CREATE USER 'selfoss'@'%' IDENTIFIED BY 'your-password';
GRANT ALL PRIVILEGES ON selfoss.* TO 'selfoss'@'%';
Then start the image (replace the host and password with yours):
docker run -d --name selfoss-wf \
-p 80:80 -p 8080:8080 \
-e SWF_DB_HOST=mysql.example.com \
-e SWF_DB_NAME=selfoss \
-e SWF_DB_USER=selfoss \
-e SWF_DB_PASSWORD=your-password \
-e SELFOSS_DB_HOST=mysql.example.com \
-e SELFOSS_DB_DATABASE=selfoss \
-e SELFOSS_DB_USERNAME=selfoss \
-e SELFOSS_DB_PASSWORD=your-password \
-v selfoss-data:/var/www/html/data \
matthk72/selfoss-wf:latest
http://<host>:8080/ and add your feeds in selfoss. Use the RSS Feed (with FullTextRss) type to get full articles instead of teasers, and give each source one of your category tags.http://<host>/.For a complete stack (image + MySQL 8.4 + configuration templates + .env), use the docker-compose setup from the repository.
| Variable | Purpose | Default |
|---|---|---|
SWF_DB_HOST / SWF_DB_NAME / SWF_DB_USER / SWF_DB_PASSWORD | database used by the webfront | localhost / selfoss / selfoss / – |
SELFOSS_DB_HOST / SELFOSS_DB_DATABASE / SELFOSS_DB_USERNAME / SELFOSS_DB_PASSWORD / SELFOSS_DB_PORT | database used by selfoss (overrides config.ini) | – |
SELFOSS_UPDATE_INTERVAL | seconds between automatic feed updates | 900 |
/var/www/html/data — selfoss data (logs, favicons, thumbnails). Drop your config.ini here or mount it (-v ./config.ini:/var/www/html/data/config.ini); see the selfoss documentation for all options./var/www/webfront/includes/constants.php — mount your own copy to customize it. The tag names must match the tags you assigned to your selfoss sources.Two equivalent ways:
db_* values in config.ini (db_type, db_host, db_database, db_username, db_password, db_port) — the selfoss-native way.Whichever you choose, make sure the configuration is complete: without any db_* values, selfoss falls back to its default db_type=sqlite and will fail with an internal server error.
If you point this image at a database from an older selfoss/webfront installation, everything keeps working — sources, items and starred articles are picked up as they are. One note on the HTML_UnEncode function the webfront uses for combining duplicate articles: it is installed automatically at startup, but if your database already contains a copy created by a database admin account (common in older manual installs), the installer cannot replace it — you may see a privilege error in the container log. That message is harmless: the existing function is used. To refresh the function with the current definition, run db/HTML_UnEncode.sql once as database admin.
2.0.2, 2.0 — current releaselatest — tracks the most recent releaseBelow are some of the feeds I am using. Be aware that some work a bit better than others, and the more active ones (BBC, Yahoo, CNBC) tend to drown the ones with more quality stuff but that update less often. Some content gets nicely fully downloaded, some feeds don't work so well and only teasers get retrieved or the formatting is a bit off.
Many feeds have also other categories available, simply look at the URLs and see how you could possibly modify them to find an overview page, or just with trial and error.
| Feed | Category | Comment |
|---|---|---|
| Airway | Aviation | |
| Airways Magazine | Aviation | |
| AsiaTimes | World | |
| AsiaTimes | China | (there are many categories, just adapt according to your interest) |
| AutoSport | Sport | |
| BBC News | World | (see https://www.bbc.co.uk/news/10628494#userss for different feeds) |
| BGR | Technology | |
| Channel News Asia | Asia | |
| CNBC | World | (International) |
| CNBC | Business | |
| CNBC | Travel | |
| CNBC | Asia | |
| CNBC | World | (Europe) |
| CNBC | Business | |
| CNBC | Technology | |
| Engadget | Technology | |
| FIA | Sport | |
| HKG Living | HKG | |
| IBT | World | they have various categories like sports/science/technology |
| Leeham News | Aviation | |
| Little white lies | Film | |
| Movieweb | Film | |
| NASA | Science | |
| Nature | Science | |
| Out of Town | Travel | |
| Politico | World | Economy, Defense |
| RT | World | |
| RTHK | HKG | |
| Science Daily | Science | |
| SCMP | Various | (most content is paid, with some free stuff. It only loads teasers here) |
| Seattle Times | Aviation | |
| TechRadar | Technology | |
| The Intercept | World | |
| VoxEU | Business | |
| Wired News | Technology | |
| Yahoo News | World |
| Feed | Category | Comment |
|---|---|---|
| aeroTelegraph | Aviation | |
| Blick | Swiss | |
| Formula 1 | Sport | |
| SRF | Sport |
The docker is based on Pamplemousse/dockerfiles which created a standalone Selfoss docker. I added my instance of the webfront and packaged it with a MySQL database to get it all in one package.
Content type
Image
Digest
sha256:3a50d6373…
Size
182.8 MB
Last updated
about 19 hours ago
docker pull matthk72/selfoss-wf