Aggregate all your favorite websites and blogs in one place with FreshRSS — a fast, lightweight, self-hosted RSS reader with multi-user support.
Grab the automated bash script from GitHub to follow along with the video.
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/media/freshrss/freshrss-ubuntu.sh
chmod +x freshrss-ubuntu.sh
sudo bash freshrss-ubuntu.sh
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/media/freshrss/freshrss-ubuntu.sh
chmod +x freshrss-ubuntu.sh
The script installs Docker if needed, then sets up the service automatically.
sudo bash freshrss-ubuntu.sh
Open your browser and navigate to:
http://<your-server-ip>:8080
The first visit launches the setup wizard. Create an admin account, choose your language, and add your first RSS feeds to start aggregating content.
| Port | Purpose |
|---|---|
| 8080 | FreshRSS Web UI |
FreshRSS is a free, self-hostable RSS and Atom feed aggregator. It is lightweight, fast, and supports thousands of feeds with multi-user access. Its Fever and Google Reader compatible API means you can use it as a backend for any RSS client app on any platform, keeping all your reading in sync.
Commercial RSS services (Feedly, Inoreader, NewsBlur) charge monthly fees, cap the number of feeds on free tiers, and have algorithmic discovery features you may not want. FreshRSS costs only the server it runs on, supports unlimited feeds, and never stops showing you content based on engagement metrics. For power users with 100+ subscribed feeds spanning news, blogs, podcasts, and GitHub releases, FreshRSS is the definitive self-hosted replacement for Google Reader.
FreshRSS serves on port 8080 by default. Proxy through Nginx Proxy Manager with HTTPS for mobile app access — apps require HTTPS to connect to the API. No other ports are required. FreshRSS communicates outbound to RSS feed sources on port 80 and 443.
Miniflux (Go-based, extremely lightweight, same API compatibility, no web reader), NewsBlur (cloud, paid), Feedly (cloud, paid with AI features), Inoreader (cloud, paid), Tiny Tiny RSS (self-hosted, similar features, older codebase). FreshRSS is the best choice for a full-featured, actively maintained self-hosted RSS reader with broad mobile app compatibility.
Skip FreshRSS if you only follow a handful of feeds and do not need mobile sync — a browser extension RSS reader or the built-in Firefox RSS reader is simpler. Also skip it if you prioritise a minimal footprint — Miniflux is a lighter single-binary alternative with the same API compatibility but no web reader themes or customisation. For podcast-specific RSS management, a dedicated podcast app handles subscriptions better than a general RSS reader.
PrismaTechWork provides end-to-end infrastructure services — from initial deployment and security hardening to ongoing monitoring, automated backups, and dedicated support. Whether you need a single-server setup or a multi-site network, our team ensures your infrastructure is built right, secured properly, and maintained reliably.
FreshRSS supports two APIs: the Fever API (compatible with Reeder 5, ReadKit, Fiery Feeds on iOS/macOS) and the Google Reader/Miniflux API (compatible with NetNewsWire on iOS/macOS, Fluent Reader on Windows/Linux, FeedMe and News+ on Android, Reeder 5, and many more). In the app settings, choose 'FreshRSS' or 'Miniflux/FreshRSS' as the service type, enter your server URL, username, and the API password (generated separately in FreshRSS user settings).
FreshRSS is a full-featured PHP-based RSS reader with a web interface, themes, custom CSS, sharing integrations, and many configuration options. Miniflux is a single-binary Go application with a minimal, fast web reader and the same API compatibility — much lighter and faster but with fewer customisation options and no theme system. FreshRSS is better if you read primarily in the web interface or want extensive customisation. Miniflux is better if you read almost entirely in mobile apps and want the lightest possible server.
Export an OPML file from your existing RSS service (Feedly, Inoreader, or any other reader has an Export OPML option in settings). In FreshRSS, go to Settings → Import/Export → Import OPML file and upload it. FreshRSS imports all your subscriptions, folders/categories, and feed order in one step. The first fetch after import downloads recent articles from all imported feeds. OPML is the universal RSS subscription format — all services can import and export it.
Yes. YouTube exposes RSS feeds for each channel. The URL format is: https://www.youtube.com/feeds/videos.xml?channel_id=CHANNEL_ID. Find a channel's ID from its YouTube URL or by viewing the page source. Add this URL as a feed in FreshRSS and it shows new video uploads with title, description, and a link to the video. This lets you follow channels without a YouTube account or algorithm recommendations — you see every upload in chronological order.
By default, FreshRSS keeps the last 200 articles per feed and purges articles older than 3 months. These limits are configurable in Settings → Archiving: you can set the maximum number of articles per feed, the maximum age in days, and whether to never delete starred articles regardless of age. For high-volume news feeds, lower limits prevent storage growth. For valuable sources you want to search historically, increase the limits or disable automatic purging.
Yes. FreshRSS supports multiple user accounts with completely separate feed lists, reading positions, and starred articles. Each user manages their own subscriptions independently. The admin can also define shared feeds that appear in all users' accounts — useful for a team's common industry news sources that everyone should see. User management is in Settings → User Management. User registration can be open (anyone can create an account) or admin-only.
The API password in FreshRSS is separate from your login password for security. Go to Settings (your account settings, not system settings) → Authentication → API password management. Generate or set an API password. This password is what you enter in mobile apps — not your FreshRSS login password. First, ensure API access is enabled in Administration → Authentication → Allow API access (admin setting). Without this enabled, no mobile app can connect regardless of the password.
Not directly — FreshRSS is a feed reader, not a full read-later service. However, it integrates with read-later services: from any article, you can send it to Pocket, Instapaper, Pinboard, or Wallabag via the sharing options. For a fully self-hosted read-later experience, combine FreshRSS (for feed aggregation) with Wallabag (for article saving and offline reading) — both can run on the same server and Wallabag has browser extensions and mobile apps.