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
- Motivation
- Installation
- Usage
- Feed options
- Additional configuration
- Environment variables
- Disclaimer
- Attribution
- License
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
- Clone this repository somewhere with PHP >= 8.1 installed.
- Open
index.phpin a browser to view the front end. - Create an
.envfile in the root directory to override application defaults or to integrate with Redis, Ollama, OpenAI, Readability, etc. (see supported environment variables)