Skip to content

Deploying RSSHub

Introduction

RSSHub is an open-source, easy-to-use RSS feed generator that creates RSS feeds from virtually any content on the web. With support for thousands of websites and platforms, RSSHub makes it easy to follow content from social media, news sites, podcasts, and more through your preferred RSS reader.

Key features of RSSHub include:

  • 1000+ Routes: Pre-built routes for popular websites
  • Social Media: Twitter, Instagram, YouTube, TikTok, and more
  • News Sites: Major news outlets and specialized publications
  • Podcasts: Convert podcast sources to RSS
  • E-commerce: Price tracking and product updates
  • Developer Tools: GitHub, npm, and documentation updates
  • Multi-Language: Interface available in multiple languages
  • Self-Hosted Privacy: Keep your feed subscriptions private
  • Extensible: Create custom routes for any website
  • API Access: RESTful API for programmatic access

This guide walks through deploying RSSHub on Klutch.sh using Docker and configuring routes for your content sources.

Prerequisites

Before deploying RSSHub on Klutch.sh, ensure you have:

  • A Klutch.sh account
  • A GitHub account with a repository for your RSSHub configuration
  • Basic familiarity with Docker and RSS concepts
  • (Optional) API keys for specific routes requiring authentication

Deploying RSSHub on Klutch.sh

    Create Your Dockerfile

    Create a Dockerfile in your repository:

    FROM diygod/rsshub:latest
    # Environment configuration
    ENV NODE_ENV=production
    ENV PORT=1200
    # Cache configuration
    ENV CACHE_TYPE=memory
    ENV CACHE_EXPIRE=300
    # Request configuration
    ENV REQUEST_TIMEOUT=30000
    # Expose the web interface
    EXPOSE 1200

    Push Your Repository to GitHub

    Commit and push your Dockerfile to your GitHub repository.

    Create a New Project on Klutch.sh

    Navigate to the Klutch.sh dashboard and create a new project named “rsshub”.

    Create a New App

    Create a new app within your project and connect your GitHub repository.

    Configure HTTP Traffic

    In the deployment settings:

    • Select HTTP as the traffic type
    • Set the internal port to 1200

    Set Environment Variables

    Configure the following environment variables:

    VariableValue
    NODE_ENVproduction
    PORT1200
    CACHE_TYPEmemory or redis
    CACHE_EXPIRE300 (seconds)

    For routes requiring authentication, add API keys:

    VariableValue
    TWITTER_TOKENYour Twitter Bearer token
    YOUTUBE_KEYYour YouTube API key
    GITHUB_ACCESS_TOKENYour GitHub token

    Attach Persistent Volumes

    Add persistent storage for caching (if using file-based cache):

    Mount PathRecommended SizePurpose
    /app/cache5 GBFeed cache storage

    Deploy Your Application

    Click Deploy to build and start your RSSHub instance.

    Access RSSHub

    Once deployment completes, access your RSSHub instance at https://your-app-name.klutch.sh.

Using RSSHub

Access feeds by appending routes to your instance URL:

  • YouTube Channel: /youtube/channel/{channel_id}
  • GitHub Releases: /github/release/{user}/{repo}
  • Reddit Subreddit: /reddit/subreddit/{subreddit}
  • Twitter User: /twitter/user/{username}
  • Hacker News: /hackernews/best
  • Product Hunt: /producthunt/today

Example Feed URLs

https://your-app-name.klutch.sh/youtube/channel/UCxxxxxx
https://your-app-name.klutch.sh/github/release/microsoft/vscode
https://your-app-name.klutch.sh/reddit/subreddit/programming

Radar Feature

RSSHub Radar is a browser extension that detects available RSSHub routes for the current website, making feed discovery easy.

Additional Resources

Conclusion

Deploying RSSHub on Klutch.sh provides a powerful RSS feed generator with automatic builds, persistent storage, and secure HTTPS access. Create feeds from thousands of websites and take control of your content consumption with this versatile, self-hosted solution.