Want to supercharge your SmartRSS experience with a powerful, self-hosted backend? This guide will show you how to set up FreshRSS, Miniflux, and RSSHub - even if you’ve never touched a server before! These services will sync seamlessly with SmartRSS, giving you complete control over your RSS reading experience.
Why Build Your Own RSS Backend?
Setting up your own RSS server gives you amazing benefits:
- Perfect SmartRSS Integration: Sync your feeds across all devices
- Complete Privacy: Your reading habits stay on your own server
- No Monthly Fees: Pay once for a VPS, run forever
- Unlimited Feeds: No restrictions on the number of subscriptions
- Super Fast: Your own dedicated RSS infrastructure
What You’ll Need
- A VPS (Virtual Private Server) - $5-10/month
- About 30 minutes of your time
- No coding experience required!
Quick Start: Try Official Instances First
Before setting up your own server, you can try these official demo instances:
Official FreshRSS Demo
- URL:
https://demo.freshrss.org/ - Features: Clean interface, mobile-friendly, great API support
- Perfect for: Beginners who want a traditional RSS experience
Official Miniflux Demo
- URL:
https://miniflux.app/(offers free trial) - Features: Modern design, excellent keyboard shortcuts, powerful API
- Perfect for: Power users who want speed and efficiency
These demos let you test both services before deciding which one to self-host. Both work perfectly with SmartRSS!
Step 1: Get Your VPS Ready
Choosing and Purchasing a VPS
For RSS hosting, you don’t need anything powerful. Here’s what I recommend:
- Minimum specs: 1GB RAM, 1 CPU core, 20GB storage
- Perfect choice: 2GB RAM, 1 CPU core, 40GB storage
- Cost: $5-10/month
Easy VPS providers for beginners:
- DigitalOcean - Most beginner-friendly, great tutorials
- Linode - Excellent performance, good support
- Vultr - Simple interface, reliable service
Deploy Your Server (Super Simple!)
- Create an account at your chosen provider
- Click “Create Droplet/Server”
- Choose Ubuntu 22.04 LTS
- Pick the $5-10/month plan
- Click “Create” and wait 2-3 minutes
- You’ll get an email with your server IP and password!
Step 2: Connect to Your Server
Open your terminal (or PowerShell on Windows) and connect:
ssh root@your_server_ip
First time? You’ll see a message asking “Are you sure you want to continue connecting?” Type yes and press Enter.
Password? Paste the password from your VPS provider’s email (you won’t see it appear on screen - that’s normal!).
Step 3: Install Docker (One Command!)
Just copy and paste this single command:
curl -fsSL https://get.docker.com | sh
This will automatically install Docker and everything you need. Grab a coffee - it takes 2-3 minutes!
Test Docker Installation
docker run hello-world
If you see “Hello from Docker!” - you’re ready to go!
Step 4: Choose Your RSS Services
Before setting up, let’s understand your options. We have a 2+1 architecture:
The Main RSS Reader (Choose One)
You need one main RSS reader to manage your feeds:
FreshRSS - The Beginner-Friendly Choice
Perfect for:
- First-time self-hosters
- Users who want a traditional, familiar interface
- Those who prefer simplicity over advanced features
Why Choose FreshRSS:
- Clean, intuitive web interface
- Easy mobile app integration
- Great API support for SmartRSS
- Simple setup and maintenance
- Large community and documentation
Resource Usage: Light (~100MB RAM)
Miniflux - The Power User’s Choice
Perfect for:
- Experienced users who want maximum speed
- Keyboard shortcut enthusiasts
- Users who prefer minimal, distraction-free reading
- Those who want the most modern tech stack
Why Choose Miniflux:
- Blazing fast performance
- Excellent keyboard navigation
- Powerful filtering and search
- Modern, responsive design
- Built-in feed fetching optimization
Resource Usage: Light (~150MB RAM including PostgreSQL)
Can’t Decide? Start with FreshRSS - it’s easier for beginners, and you can always switch later!
Optional: RSSHub - The RSS Supercharger
What is RSSHub?
RSSHub is a game-changer for RSS users. Many modern websites (YouTube, Twitter, Instagram, Telegram, etc.) don’t provide RSS feeds anymore. RSSHub solves this by generating RSS feeds from virtually any website!
Why You Might Want RSSHub:
- No RSS? No Problem! - Generate feeds from 400+ platforms
- Social Media Feeds - YouTube channels, Twitter users, Instagram posts
- Custom Content - Create feeds from specific websites, filters, or keywords
- Flexible & Powerful - Customize feed content, update frequency, and format
- Free & Open - No API keys needed, community-driven
Examples of what RSSHub can do:
- Get RSS feeds from your favorite YouTube channels
- Follow Twitter users without using Twitter
- Track Instagram posts from specific accounts
- Monitor Telegram channels
- Create feeds from websites that don’t have RSS
- And hundreds more use cases!
Resource Usage: Moderate (~200MB RAM with Redis)
Recommendation: Start without RSSHub. Add it later if you need feeds from social media or non-RSS websites.
Step 5: Set Up Your Chosen Service
Create Project Directory
mkdir -p ~/rss-services
cd ~/rss-services
Option A: FreshRSS Setup (Recommended for Beginners)
mkdir freshrss && cd freshrss
nano docker-compose.yml
version: "3.8"
services:
freshrss:
image: freshrss/freshrss:latest
container_name: freshrss
restart: unless-stopped
ports:
- "8080:80"
volumes:
- ./freshrss-data:/var/www/FreshRSS/data
- ./freshrss-extensions:/var/www/FreshRSS/extensions
environment:
- CRON_MIN=*/10
- TZ=Asia/Shanghai
Configuration:
TZ=Asia/Shanghai→ Change to your timezone
Save and exit: Press Ctrl+X, then Y, then Enter
Option B: Miniflux Setup (For Power Users)
cd ~/rss-services
mkdir miniflux && cd miniflux
nano docker-compose.yml
Copy and paste this configuration:
version: "3.8"
services:
miniflux:
image: miniflux/miniflux:latest
container_name: miniflux
restart: unless-stopped
ports:
- "8081:8080"
environment:
- DATABASE_URL=postgres://miniflux:secret@miniflux-db/miniflux?sslmode=disable
- RUN_MIGRATIONS=1
- CREATE_ADMIN=1
- ADMIN_USERNAME=admin
- ADMIN_PASSWORD=changeme
- BASE_URL=http://your_server_ip:8081
- CLEANUP_FREQUENCY=24
- POLLING_FREQUENCY=60
- TZ=Asia/Shanghai
depends_on:
- miniflux-db
miniflux-db:
image: postgres:15
container_name: miniflux-db
restart: unless-stopped
environment:
- POSTGRES_USER=miniflux
- POSTGRES_PASSWORD=secret
- POSTGRES_DB=miniflux
volumes:
- miniflux-db:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U miniflux"]
interval: 10s
timeout: 5s
retries: 5
volumes:
miniflux-db:
Configuration:
ADMIN_USERNAME=admin→ Your desired usernameADMIN_PASSWORD=changeme→ Choose a strong passwordBASE_URL=http://your_server_ip:8081→ Replace with your server IPTZ=Asia/Shanghai→ Change to your timezone
Save and exit: Press Ctrl+X, then Y, then Enter
Option C: Add RSSHub (Optional)
Only install RSSHub if you need feeds from social media or non-RSS websites.
cd ~/rss-services
mkdir rsshub && cd rsshub
nano docker-compose.yml
Copy and paste this configuration:
version: "3.8"
services:
rsshub:
image: diygod/rsshub:latest
container_name: rsshub
restart: unless-stopped
ports:
- "1200:1200"
environment:
NODE_ENV: production
CACHE_TYPE: redis
REDIS_URL: redis://rsshub-redis:6379/
depends_on:
- rsshub-redis
rsshub-redis:
image: redis:alpine
container_name: rsshub-redis
restart: unless-stopped
volumes:
- rsshub-redis-data:/data
command: redis-server --appendonly yes
volumes:
rsshub-redis-data:
Save and exit: Press Ctrl+X, then Y, then Enter
Step 6: Launch Your Services
Navigate to your chosen service directory and start it:
For FreshRSS:
cd ~/rss-services/freshrss
docker compose up -d
For Miniflux:
cd ~/rss-services/miniflux
docker compose up -d
For RSSHub (if installed):
cd ~/rss-services/rsshub
docker compose up -d
This will download and start your services. Wait 2-3 minutes for everything to initialize.
Check if Everything is Running
# For FreshRSS
cd ~/rss-services/freshrss && docker compose ps
# For Miniflux
cd ~/rss-services/miniflux && docker compose ps
# For RSSHub
cd ~/rss-services/rsshub && docker compose ps
You should see services marked as “Up” - that means they’re working! 🚀
Step 7: Access and Configure Your Services
FreshRSS Setup
- URL:
http://your_server_ip:8080 - First time: Click “Installation” and create your admin account
- Perfect for: Beginners who want a simple, clean interface
Miniflux Setup
- URL:
http://your_server_ip:8081 - Login: Use the username/password you set in the config file
- Perfect for: Users who want speed and powerful features
RSSHub (No Setup Needed!)
- URL:
http://your_server_ip:1200 - No login required - it just works!
- Use it to: Generate RSS feeds from YouTube, Twitter, Instagram, etc.
- Documentation: Visit the URL to see all available routes and examples
Step 8: Enable API Access for SmartRSS
Now the exciting part - connecting your RSS services to SmartRSS!
Enable FreshRSS API
- Login to FreshRSS at
http://your_server_ip:8080 - Click on your username (top right) → Administration
- Go to “Authentication” → Enable “Enable API access”
- Save changes
- Generate API credentials:
- Still in Administration, go to “Profile”
- Scroll to “API” section
- Click “Generate” to create your API password
- Copy your API username and password - you’ll need these for SmartRSS!
Enable Miniflux API
Great news! Miniflux API is enabled by default - no setup needed!
Step 9: Connect SmartRSS to Your Server
Now you can connect SmartRSS to your self-hosted services!
For FreshRSS Users:
- Open SmartRSS on your device
- Add a new account → Select “FreshRSS”
- Enter your server details:
- Server URL:
http://your_server_ip:8080/api/ - Username: Your FreshRSS username
- Password: Your API password (from Step 7)
- Server URL:
- Test connection and enjoy your synced feeds!
For Miniflux Users:
- Open SmartRSS on your device
- Add a new account → Select “Miniflux”
- Enter your server details:
- Server URL:
http://your_server_ip:8081/ - Username: Your Miniflux username
- Password: Your Miniflux password
- Server URL:
- Test connection and you’re ready to go!
Add Feeds from RSSHub
Want to follow a YouTube channel or Twitter user that doesn’t have RSS?
- Browse RSSHub at
http://your_server_ip:1200 - Find the route you need (e.g.,
/youtube/user/:username) - Copy the RSS feed URL
- Add it directly in SmartRSS or your FreshRSS/Miniflux web interface!
Popular RSSHub routes:
- YouTube:
http://your_server_ip:1200/youtube/user/:username - Twitter:
http://your_server_ip:1200/twitter/user/:username - Instagram:
http://your_server_ip:1200/instagram/user/:username - Telegram:
http://your_server_ip:1200/telegram/channel/:channelname
Quick Management Commands
Check Service Status
# For FreshRSS
cd ~/rss-services/freshrss && docker compose ps
# For Miniflux
cd ~/rss-services/miniflux && docker compose ps
# For RSSHub
cd ~/rss-services/rsshub && docker compose ps
View Logs (if something goes wrong)
# For FreshRSS
cd ~/rss-services/freshrss && docker compose logs -f
# For Miniflux
cd ~/rss-services/miniflux && docker compose logs -f
# For RSSHub
cd ~/rss-services/rsshub && docker compose logs -f
Restart a Service
# For FreshRSS
cd ~/rss-services/freshrss && docker compose restart
# For Miniflux
cd ~/rss-services/miniflux && docker compose restart
# For RSSHub
cd ~/rss-services/rsshub && docker compose restart
Update Your Services
# For FreshRSS
cd ~/rss-services/freshrss && docker compose pull && docker compose up -d
# For Miniflux
cd ~/rss-services/miniflux && docker compose pull && docker compose up -d
# For RSSHub
cd ~/rss-services/rsshub && docker compose pull && docker compose up -d
Stop Services
# For FreshRSS
cd ~/rss-services/freshrss && docker compose down
# For Miniflux
cd ~/rss-services/miniflux && docker compose down
# For RSSHub
cd ~/rss-services/rsshub && docker compose down
Common Issues and Fixes
Services Won’t Start
# Check what's wrong (replace with your service)
cd ~/rss-services/freshrss # or miniflux or rsshub
docker compose logs
# Restart everything
docker compose restart
Can’t Access Your Server
Make sure your VPS provider’s firewall allows these ports (only for services you installed):
- 8080 (FreshRSS)
- 8081 (Miniflux)
- 1200 (RSSHub)
SmartRSS Won’t Connect
- Double-check your server URL - include
http://and the port number - Verify your API credentials - re-generate them if needed
- Test the web interface - make sure you can login in your browser first
Conclusion
You’ve just built your own RSS backend that works perfectly with SmartRSS! Your feeds will sync across all your devices, you have complete privacy, and you’re saving money on monthly subscription fees.
Start adding your favorite feeds and enjoy the ultimate RSS experience!
Need help? Check out the official documentation:
Happy reading!
Ready to supercharge your RSS experience? Download today and start using these powerful AI prompts!
📱 Download SmartRSS Now
Available on both iOS and Android platforms