johnwarne/upvote-rss: Generate rich RSS feeds from Reddit, Hacker News, Lemmy, Mbin, and more (opens in new tab)

Upvote RSS

Generate rich RSS feeds for popular posts from social aggregation websites Reddit, Lemmy, Hacker News, Lobsters, PieFed, Mbin, and git forge GitHub.

Table of Contents

Features

  • Supports subreddits, Hacker News, Lemmy communities, Lobste.rs, PieFed communities, Mbin magazines, and GitHub
  • Configurable filtering to dial in the right number of posts per day in your feed reader
  • Embedded post media (videos, galleries, and images)
  • Parsers to extract clean content and add featured images
  • AI article summaries with multiple provider support (Ollama, OpenAI, Google Gemini, Anthropic, Mistral, DeepSeek, and OpenAI-compatible providers)
  • Estimated reading time, score, and permalinks to the original post
  • Top comments with optional filtering of pinned moderator comments
  • NSFW filtering/blurring (Reddit only)
  • Custom Reddit domain
  • Light/dark mode for feed previews

Motivation

I prefer to interact with social aggregation websites like Reddit in a low-volume way, so I let Upvote RSS surface the most popular posts for those sites/subreddits in my RSS reader of choice. I usually use the averagePostsPerDay filter so I can expect a certain amount of posts in my feeds per day.

Installation

Docker

Docker is the preferred method to run Upvote RSS. Running this Docker run command will start the application and expose it on port 8675. Feel free to override it with your sweet port of choice.

Docker run example:

docker run -d \
--restart unless-stopped \
-p 8675:80 \
ghcr.io/johnwarne/upvote-rss:latest

Docker compose example with optional Reddit environment variables:

---
services:
upvote-rss:
image: ghcr.io/johnwarne/upvote-rss:latest
container_name: upvote-rss
environment:
- REDDIT_USER=your_reddit_username
- REDDIT_CLIENT_ID=your_reddit_client_id
- REDDIT_CLIENT_SECRET=your_reddit_client_secret
volumes:
- upvote-rss-cache:/app/cache
ports:
- "8675:80"
restart: unless-stopped

volumes:
upvote-rss-cache:

Build the Docker image yourself instead of using the pre-built one:

docker build -f docker/Dockerfile .

Manual

  1. Clone this repository somewhere with PHP >= 8.1 installed.
  2. Open index.php in a browser to view the front end.
  3. Create an .env file in the root directory to override application defaults or to integrate with Redis, Ollama, OpenAI, Readability, etc. (see supported environment variables)

Usage

Loading more...

Keyboard Shortcuts

Navigation
Next / previous item
j/k
Open post
oorEnter
Preview post
v
Post Actions
Love post
a
Like post
l
Dislike post
d
Undo reaction
u
Save / unsave
s
Recommendations
Add interest / feed
Enter
Not interested
x
Go to
Home
gh
Interests
gi
Feeds
gf
Likes
gl
History
gy
Changelog
gc
Settings
gs
Browse
gb
Search
/
General
Show this help
?
Submit feedback
!
Close modal / unfocus
Esc

Press ? anytime to show this help