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
- Select HTTP as the traffic type
- Set the internal port to 1200
Create Your Dockerfile
Create a Dockerfile in your repository:
FROM diygod/rsshub:latest
# Environment configurationENV NODE_ENV=productionENV PORT=1200
# Cache configurationENV CACHE_TYPE=memoryENV CACHE_EXPIRE=300
# Request configurationENV REQUEST_TIMEOUT=30000
# Expose the web interfaceEXPOSE 1200Push 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:
Set Environment Variables
Configure the following environment variables:
| Variable | Value |
|---|---|
NODE_ENV | production |
PORT | 1200 |
CACHE_TYPE | memory or redis |
CACHE_EXPIRE | 300 (seconds) |
For routes requiring authentication, add API keys:
| Variable | Value |
|---|---|
TWITTER_TOKEN | Your Twitter Bearer token |
YOUTUBE_KEY | Your YouTube API key |
GITHUB_ACCESS_TOKEN | Your GitHub token |
Attach Persistent Volumes
Add persistent storage for caching (if using file-based cache):
| Mount Path | Recommended Size | Purpose |
|---|---|---|
/app/cache | 5 GB | Feed 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
Popular Routes
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/UCxxxxxxhttps://your-app-name.klutch.sh/github/release/microsoft/vscodehttps://your-app-name.klutch.sh/reddit/subreddit/programmingRadar 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.