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
feedmixer logo

Self-host feedmixer

v2.5.1

Combine multiple RSS/Atom feeds into one API

ReleaseOpen SourceWTFPL
Updatedlast year
LanguagePython
Setup difficultyEasy
Stars
238
Port
8000 (HTTP API)
Install with Docker

What is feedmixer?

FeedMixer is a lightweight Python WSGI web service that fetches and combines entries from multiple Atom and RSS feeds into a single unified feed. It provides three endpoints that accept feed URLs as query parameters and return merged output in Atom, RSS 2.0, or JSON Feed format. Features include configurable entry limits per feed, choice of full content or summary, in-memory caching of parsed feeds for performance, and CORS support for browser-based clients. It runs as a WSGI application with gunicorn and can be deployed via Docker. The project has no built-in authentication or rate limiting, so a reverse proxy like Nginx is recommended for production. Licensed under WTFPL.

Should you self-host feedmixer?

feedmixer scores 45/100 on selfhost.directory (how scoring works) and ranks #48 of 85 in Feed Reader. It has 238 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is easy: most people get it running in one sitting. It is WTFPL-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 feedmixer vs RSSHub side by side.

Features

  • Configurable cache size
  • Configurable request timeout
  • Content vs summary control
  • CORS Support
  • Feed Aggregation
  • In-memory caching
  • Multiple Output Formats
  • Per-feed entry limit
  • WSGI compatible

feedmixer README

How to install feedmixer

Install feedmixer with Docker

Environment variables
FM_LOG_LEVEL, FM_ALLOW_CORS, FM_TIMEOUT, FM_CACHE_SIZE

$ docker build . -t feedmixer $ docker run --rm -p 8000:8000 feedmixer

Alpine-based image (~60MB). Also has Debian-based Dockerfile-debian.

How to configure feedmixer

  • FM_ALLOW_CORSEnable CORS headers to allow cross-origin requests

    Enable CORS headers to allow cross-origin requests

    values: any non-empty value

  • FM_CACHE_SIZE128Maximum number of parsed feeds to keep in the in-memory cache

    Maximum number of parsed feeds to keep in the in-memory cache

    values: integer

  • FM_LOG_LEVELINFOLog level for the application

    Log level for the application

    values: DEBUG, INFO, WARNING, ERROR, CRITICAL

  • FM_TIMEOUT30HTTP timeout in seconds for fetching remote feeds

    HTTP timeout in seconds for fetching remote feeds

    values: integer seconds

More in API

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…