selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

GitHub
RSSbrew logo

Self-host RSSbrew

v2026.1

Self-hosted RSS aggregator with AI summaries and digests

BetaOpen SourceAGPL-3.0
Docker ComposeCompose file & guide
docker compose up -d
Updated9 hours ago
LanguagePython
Setup difficultyModerate
ThemeDark mode
Stars
295
Port
8000 (HTTP web UI)
Requires
Redis
Docker
yinanc/rssbrew
Processed feed list viewProcessed feed configuration pageAI summary example in feedDigest example in Telegram

What is RSSbrew?

RSSBrew is a self-hosted RSS processor that combines multiple feeds into one, lets you filter articles by title, link, or description with regex and boolean logic, adds AI-generated summaries using any OpenAI-compatible model, and bundles items into daily or weekly digests with optional AI analysis. It runs via Docker Compose with Redis, serves a web UI on port 8000, and includes a demo at demo.rssbrew.com. Configuration uses environment variables like SECRET_KEY, OPENAI_API_KEY, and DEPLOYMENT_URL. The project is in beta and under active development.

Should you self-host RSSbrew?

RSSbrew scores 42/100 on selfhost.directory (how scoring works) and ranks #58 of 85 in Feed Reader. It has 295 GitHub stars.

It shipped 1 stable release in the past year. The latest, v2026.1, came out on 29 August 2026.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is AGPL-3.0-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is RSSHub (85/100, 46 704 stars). It scores higher overall, so compare the two before you pick. See RSSbrew vs RSSHub side by side.

Features

  • AI article summarization
  • Auth Code Access
  • Configurable User-Agent
  • Custom Filters
  • Daily/Weekly Digests
  • Dark/Light Mode Toggle
  • Feed Aggregation

RSSbrew README

How to install RSSbrew

Install RSSbrew with Docker Compose

Docker Engine, public IP server (VPS recommended), optional domain name
Environment variables
SECRET_KEY, OPENAI_API_KEY, DEPLOYMENT_URL, INTERNAL_PORT, OPENAI_BASE_URL, DEFAULT_MAX_INPUT_TOKENS, MODEL_METADATA_URL, OPENAI_MODEL_LIST_CACHE_SECONDS, MODEL_METADATA_CACHE_SECONDS, DEBUG, CRON, TIME_ZONE, REDIS_HOST, REDIS_PORT, REDIS_DB
  1. Download Docker Compose and .env.example
wget https://raw.githubusercontent.com/yinan-c/rssbrew/main/docker-compose.yml
wget https://raw.githubusercontent.com/yinan-c/rssbrew/main/.env.example
  1. Modify Environment Variables

    Copy the .env.example file to create a .env file. Modify the .env file to set necessary environment variables such as OPENAI_API_KEY, SECRET_KEY, and DEPLOYMENT_URL.

    cp .env.example .env
    # Edit .env to include necessary environment variables
    

    Modify docker-compose.yml as needed (e.g. ports, volumes, etc.)

  2. Start the server

docker compose up -d

Requires Docker Engine and a server with public IP (VPS recommended). Optional domain name for custom URL.

How to configure RSSbrew

  • CRON*/5 * * * *Cron schedule for feed updates

    Cron schedule for feed updates

  • DEBUG1Enable debug mode

    Enable debug mode

  • DEFAULT_MAX_INPUT_TOKENSInput token budget for models whose limits cannot be resolved

    Input token budget for models whose limits cannot be resolved

  • DEPLOYMENT_URLhostname.yourdomain.tldHostname or IP:port for deployment (without http:// or https://)

    Hostname or IP:port for deployment (without http:// or https://)

  • INTERNAL_PORT8000Port Gunicorn runs on inside the container

    Port Gunicorn runs on inside the container

  • MODEL_METADATA_CACHE_SECONDSCache duration for token limit metadata

    Cache duration for token limit metadata

  • MODEL_METADATA_URLAlternative source for model token limits (litellm-format JSON)

    Alternative source for model token limits (litellm-format JSON)

  • OPENAI_API_KEYOpenAI API key for AI summarization (optional)

    OpenAI API key for AI summarization (optional)

  • OPENAI_BASE_URLCustom OpenAI-compatible API base URL (e.g., OneAPI, xAI)

    Custom OpenAI-compatible API base URL (e.g., OneAPI, xAI)

  • OPENAI_MODEL_LIST_CACHE_SECONDSCache duration for model list

    Cache duration for model list

  • REDIS_DB0Redis database number

    Redis database number

  • REDIS_HOSTredisRedis host

    Redis host

  • REDIS_PORT6379Redis port

    Redis port

  • SECRET_KEYSecret key for Django; generate with python3 -c 'import secrets; print(secrets.token_urlsafe(32))' or openssl rand -base64 32

    Secret key for Django; generate with python3 -c 'import secrets; print(secrets.token_urlsafe(32))' or openssl rand -base64 32

  • TIME_ZONEEurope/LondonTime zone for scheduled tasks

    Time zone for scheduled tasks

RSSbrew releases & version history

FAQ

What license does RSSBrew use?

AGPL-3.0.

Does RSSBrew support dark mode?

Yes, the UI includes a dark/light mode toggle button.

How often are feeds updated?

Every 5 minutes by default (configurable via CRON environment variable).

Is Redis required?

Yes, Redis is required as a dependency for the task queue (huey).

What is the default port?

The web UI runs on port 8000 by default (configurable via INTERNAL_PORT).

Can I use a custom OpenAI-compatible API?

Yes, set OPENAI_BASE_URL in .env to use services like OneAPI or xAI.

Does RSSBrew require an OpenAI API key?

No, OPENAI_API_KEY is optional; AI summarization features will be unavailable without it.

What are the default login credentials?

Username: admin, Password: changeme (should be changed after first login).

How do I install RSSBrew?

Download docker-compose.yml and .env.example from the repository, copy .env.example to .env, configure required variables (SECRET_KEY, OPENAI_API_KEY, DEPLOYMENT_URL), then run docker compose up -d.

More in RSS

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…