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.

NodeRSSBot logo

Self-host NodeRSSBot

v0.11.1

Telegram RSS bot with OPML import/export and HTTP caching

ReleaseOpen SourceMIT
Updated9 hours ago
LanguageTypescript
Setup difficultyEasy
Stars
405
Requires
Node.js
Docker
fengkx/node_rssbot
Install with Docker

What is NodeRSSBot?

NodeRSSBot is a Telegram RSS bot built with Node.js that lets users subscribe to RSS/Atom feeds and receive updates in Telegram chats and channels. It supports OPML import and export for migrating subscriptions, HTTP caching to reduce bandwidth, automatic feed discovery from web pages, pagination for feed lists, and internationalization with multiple languages. The bot can be self-hosted via Docker (with a pre-built image on Docker Hub), Heroku (with one-click deploy), or manual Node.js deployment. It uses SQLite by default for storage with optional PostgreSQL support. Configuration is done through environment variables including the required Telegram bot token, database path, language, fetch intervals, concurrency limits, and proxy settings.

Should you self-host NodeRSSBot?

NodeRSSBot scores 49/100 on selfhost.directory (how scoring works) and ranks #32 of 85 in Feed Reader. It has 405 GitHub stars.

It shipped 1 stable release in the past year. The latest, v0.11.1, came out on 22 October 2026.

Setup is easy: most people get it running in one sitting. An official Docker image is available. It is MIT-licensed and written mostly in Typescript.

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

Features

  • Allow List
  • Automatic feed detection
  • Channel support
  • Error notification
  • Feed health monitoring
  • Heroku one-click deploy
  • HTTP Caching
  • Internationalization (I18N)
  • OPML Import/Export
  • Pagination
  • Proxy Support
  • RSS/Atom feed subscription

NodeRSSBot README

How to install NodeRSSBot

Install NodeRSSBot with Docker

Docker installed
Environment variables
RSSBOT_TOKEN (required), RSSBOT_DB_PATH, RSSBOT_LANG, RSSBOT_ITEM_NUM, RSSBOT_FETCH_GAP, RSSBOT_STRICT_TTL, RSSBOT_HTTP_CACHE, NOTIFY_ERR_COUNT, RSSBOT_VIEW_ALL, RSSBOT_UA, RSSBOT_CONCURRENCY, PROXY_PROTOCOL, PROXY_HOST, PROXY_PORT, RSSBOT_RESP_TIMEOUT, RSSBOT_ALLOW_LIST

docker pull fengkx/node_rssbot docker run --name rssbot -d -v :/app/data/ -e RSSBOT_TOKEN=<YOUR_TGBOT_TOKEN> fengkx/node_rssbot

Pre-built image from Docker Hub, mount volume for database persistence

How to configure NodeRSSBot

  • NOTIFY_ERR_COUNT5Consecutive errors before warning is issued

    Consecutive errors before warning is issued

  • PROXY_HOSTProxy host

    Proxy host

  • PROXY_PORTProxy port

    Proxy port

  • PROXY_PROTOCOLProxy protocol (http/https/socks)

    Proxy protocol (http/https/socks)

  • RSSBOT_ALLOW_LISTComma-separated list of allowed user IDs

    Comma-separated list of allowed user IDs

  • RSSBOT_CONCURRENCY200Number of concurrent requests in a batch

    Number of concurrent requests in a batch

  • RSSBOT_DB_PATHdata/database.dbPath to store SQLite database file or connection string for other databases

    Path to store SQLite database file or connection string for other databases

  • RSSBOT_FETCH_GAP5mFetch interval (e.g., 5m for 5 minutes, 1h for 1 hour)

    Fetch interval (e.g., 5m for 5 minutes, 1h for 1 hour)

  • RSSBOT_HTTP_CACHEfalseEnable HTTP caching

    Enable HTTP caching

  • RSSBOT_ITEM_NUM10Maximum number of messages to send at a time

    Maximum number of messages to send at a time

  • RSSBOT_LANGzh-CNDefault language for new users, fallback language for missing translations

    Default language for new users, fallback language for missing translations

  • RSSBOT_RESP_TIMEOUT40Request response timeout in seconds

    Request response timeout in seconds

  • RSSBOT_STRICT_TTLtrueWhether to strictly follow RSS TTL values

    Whether to strictly follow RSS TTL values

  • RSSBOT_TOKENTelegram bot token required to run the bot

    Telegram bot token required to run the bot

  • RSSBOT_UAMozilla/5.0 NodeRSSBot v${version}(https://github.com/fengkx/NodeRSSBot)User-Agent header for HTTP requests

    User-Agent header for HTTP requests

  • RSSBOT_VIEW_ALLfalseEnable /viewall command

    Enable /viewall command

NodeRSSBot releases & version history

More in Feed Reader

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…