https://github.com/chrisallenlane/rdr
A minimalist, self-hosted RSS reader for homelabs (MIRROR)
https://github.com/chrisallenlane/rdr
atom docker feed-reader golang homelab htmx minimalist opml rss rss-reader self-hosted sqlite
Last synced: 10 days ago
JSON representation
A minimalist, self-hosted RSS reader for homelabs (MIRROR)
- Host: GitHub
- URL: https://github.com/chrisallenlane/rdr
- Owner: chrisallenlane
- License: mit
- Created: 2026-04-25T13:24:36.000Z (about 2 months ago)
- Default Branch: master
- Last Pushed: 2026-05-16T14:03:14.000Z (about 1 month ago)
- Last Synced: 2026-05-16T16:35:34.322Z (about 1 month ago)
- Topics: atom, docker, feed-reader, golang, homelab, htmx, minimalist, opml, rss, rss-reader, self-hosted, sqlite
- Language: Go
- Size: 757 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# rdr
A minimalist, self-hosted RSS reader for homelabs.
## About
`rdr` is a lightweight RSS/Atom feed reader built with Go and SQLite. It runs
as a single binary with no external dependencies, designed for homelab
deployment on trusted networks. The UI is server-rendered HTML with a minimal
hand-rolled stylesheet. A small optional JavaScript file provides keyboard
shortcuts as a progressive enhancement — everything works without it.
## Screenshots
| Solarized Light | Solarized Dark |
| -------------------------------------------- | ------------------------------------------ |
|  |  |
## Features
- RSS, Atom, and Media RSS feed support (YouTube, Vimeo, and podcast feeds render with thumbnails and media players)
- Full-text search across all items (SQLite FTS5)
- Feed organization with lists (a feed belongs to one list)
- OPML import and export (lists exported as folders)
- JSON HTTP API with bearer-token auth — see [API.md](API.md)
- Four themes: Solarized Light/Dark and Modus Light/Dark (WCAG AAA high-contrast)
- Per-user settings: date display format (relative or absolute), item description previews
- Background feed polling with configurable interval
- Automatic data retention (prune old read items)
- Multi-user support with session-based authentication
- Single binary deployment or Docker
- Keyboard shortcuts for item navigation (vim-style j/k/h/l)
- Mobile-friendly responsive design
## Deployment Model
`rdr` is designed for homelab and trusted-network deployment. It is not
hardened for direct public-internet exposure.
Open registration is intentional for this environment — a homelab operator
typically wants anyone on the local network to be able to create an account
without an admin approval step.
## Quick Start
### Docker
```bash
docker compose up -d
```
Pulls the latest published image from
[ghcr.io/chrisallenlane/rdr](https://ghcr.io/chrisallenlane/rdr) and
starts the service on port 8080. Open , register
an account, and add feeds.
### Binary
```bash
./rdr
```
See [INSTALLING.md](INSTALLING.md) for configuration, Docker Compose setup,
and keyboard shortcuts. See [HACKING.md](HACKING.md) for development
instructions.
## License
[MIT](LICENSE)