
Upvote RSS
Self-hosted PHP app that turns Reddit, Hacker News, Lemmy, Lobsters, PieFed, Mbin and GitHub into filtered RSS feeds of their most popular posts.
Upvote RSS is a self-hosted PHP application that turns social aggregation sites into filtered RSS feeds of their most popular posts. Point it at a subreddit, a Hacker News section (front page, best, new, ask, show), a Lemmy, PieFed or Mbin community on any instance, a Lobsters category or tag, or a GitHub language/topic search, and it emits a feed URL you can paste into any RSS reader. Posts arrive with media embedded, extracted article content, estimated reading time, score and a permalink back to the original thread.
The main draw is the filtering. Instead of taking everything a community publishes, Upvote RSS can drop posts below a fixed score, below a percentage of the community's one-month hot-post average (threshold), or dynamically target an average number of posts per day. Feeds can also include top-voted comments (optionally filtering pinned moderator comments), hide posts older than N days, and filter or blur NSFW media on Reddit.
Optional extras are configured through environment variables. Readability.php is built in for article extraction, with optional Readability.js, Mercury and Browserless services for pages that need JavaScript. Caching can run on the filesystem, Redis or APCu. AI summaries can be generated with Ollama, OpenAI, Google Gemini, Anthropic, Mistral, DeepSeek or any OpenAI-compatible endpoint, with a configurable prompt, temperature and token limit. It ships as a single Docker image or as a plain PHP 8.2 application with no database.
Upvote RSS is not an RSS reader — it complements one. What it removes the need for is the paid social-source and AI-summary side of services such as RSS.app, Feedly and Inoreader: the same "top Reddit and Hacker News posts, with summaries, without the doomscrolling" outcome, running on your own hardware with your own credentials, free under the MIT license.
Categories:
Build with:
Frequently Asked Questions
Which sites can I build feeds from, and what does each option need?
Upvote RSS supports Reddit, Hacker News, Lemmy, Lobsters, PieFed, Mbin and GitHub. Hacker News offers front page, best, new, ask and show; Lobsters offers all posts, category or tag; GitHub feeds take language and topic search terms, where a plus sign means AND and a comma means OR. Lemmy, PieFed and Mbin feeds need the fully qualified domain of the instance you want to read from.
Do I need my own Reddit API credentials?
Yes. Because of Reddit's API policy you have to create a web app at reddit.com/prefs/apps and set REDDIT_USER, REDDIT_CLIENT_ID and REDDIT_CLIENT_SECRET in your .env file or container environment. The other supported platforms do not need credentials.
How do I control how many posts end up in my feed?
Three filter types are available. Score drops anything below a fixed score. Threshold compares posts against the average score of the community's last month of hot posts, which keeps output stable in volatile communities but is not available for Lobsters. Posts Per Day, the author's preferred mode, works backwards from a community's recent history to pick a cutoff that yields roughly the number of posts you asked for. A separate Filter old posts option removes posts older than a chosen number of days.
Can Upvote RSS summarize articles with an LLM?
Yes, when at least one provider is configured. Ollama, Google Gemini, OpenAI, Anthropic, Mistral, DeepSeek and any OpenAI-compatible endpoint such as OpenRouter are supported. If several are set, the app tries them in the order Ollama, Gemini, OpenAI, Anthropic, Mistral, DeepSeek, OpenAI-compatible. Each provider has its own model variable, and SUMMARY_SYSTEM_PROMPT, SUMMARY_TEMPERATURE and SUMMARY_MAX_TOKENS control the output. Summaries are cached, so clearing the cache re-runs them, which can cost money on paid APIs.
What do I need to run Upvote RSS?
Docker is the recommended route: one container from ghcr.io/johnwarne/upvote-rss, served on port 80 and typically mapped to 8675, with a volume mounted at /app/cache so cached pages and summaries survive container updates. A manual install needs PHP 8.2 or newer and no database. Redis and APCu are optional cache backends, and Readability.js, Mercury and Browserless are optional helpers for pages that only render their content with JavaScript. Raise MAX_EXECUTION_TIME above the 60 second default if AI summaries make feed generation slow.
OpenAltFinder Score
Project Details
Repository details
Updated 10/22/2026, 4:00:16 AM
View RepositorySponsor Upvote RSS
Compare Upvote RSS with
Similar open source alternatives

eilmeldung
A fast, vim-inspired terminal RSS reader with a powerful query language, zen mode, and support for Feedly, Inoreader, Miniflux, FreshRSS and more.
Feedly
WyrmRSS
Self-hosted RSS reader with feed discovery, YouTube support, folders, filters and webhooks. Self-host on web, or use the native desktop app.
Feedly
Tiny Tiny RSS
Long-running self-hosted RSS/Atom feed reader and aggregator, originally created in 2005 and now maintained at github.com/tt-rss/tt-rss.
Feedly
Refeed
Modern self-hosted RSS reader with timed bookmarks, smart filters, in-article notes, and a built-in newsletter-to-RSS converter.
Feedly
Miniflux
Minimalist, opinionated RSS feed reader that is fast, lightweight, and written in Go — designed for long-term use.
FeedlyCommaFeed
Self-hosted RSS reader inspired by Google Reader — organize, read and subscribe to your favorite feeds on your own server.
Feedly





