[{"data":1,"prerenderedAt":130},["ShallowReactive",2],{"seo-verification":3,"blog-host-freshrss-on-your-own-vps-en":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"slugs":9,"title":12,"excerpt":13,"readTime":14,"views":15,"isPinned":16,"publishedAt":17,"category":18,"categories":24,"featuredImage":26,"bgImage":27,"posterImage":28,"relatedSolution":29,"intro":31,"sections":32,"ctaTitle":78,"ctaBody":79,"ctaButton":80,"ctaUrl":81,"relatedPosts":82},86,"host-freshrss-on-your-own-vps",{"fr":10,"en":8,"ar":11},"heberger-freshrss","استضافة-freshrss-على-خادمك-الافتراضي-الخاص-vps","Host FreshRSS on Your Own VPS","Take back control of your news monitoring: deploy FreshRSS on your VPS with Docker, SSL and mobile access. Complete self-hosting guide.",3,0,false,"2026-03-26T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":23},7,"Self-hosting","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[25],{"id":19,"name":20,"slug":21,"color":22,"icon":23},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fheberger-freshrss-poster.svg",{"categorySlug":21,"appSlug":30},"freshrss","Commercial RSS aggregators shut down, change pricing or resell your interests. FreshRSS reverses the logic: a lightweight, multi-user feed reader that you host yourself. Here is how to deploy it cleanly on a VPS, with a database, reverse proxy and HTTPS certificate.",[33,37,47,50,72,75],{"type":34,"title":35,"body":36},"h2","Why self-host FreshRSS on a VPS","FreshRSS is an RSS\u002FAtom feed aggregator written in PHP, designed to be light on resources while handling thousands of articles. Self-hosting on a VPS solves three problems that closed services do not address: durability (your monitoring does not vanish overnight), privacy (nobody profiles your subscriptions) and freshness (you set the refresh frequency via cron, with no imposed quota). A VPS, unlike shared hosting, gives you full SSH access, the right to run a Docker container and to schedule tasks — exactly what FreshRSS needs to refresh feeds in the background.",{"type":38,"title":39,"items":40},"ul","Concrete benefits of a self-hosted FreshRSS",[41,42,43,44,45,46],"Native API compatible with Fever and Google Reader: synchronize with Reeder, FeedMe or Fluent Reader on mobile.","GReader \u002F scraping extension: retrieve the full content of truncated articles thanks to XPath filters.","Multi-user with per-account quotas: ideal for sharing an instance within an agency.","Minimal memory footprint (200 to 300 MB): runs on the smallest of VPSes without flinching.","Cron-driven refresh: you decide whether the feeds update every 5 minutes or every hour.","Trivial backup: a SQLite\u002FMySQL database and a data folder are enough to restore everything.",{"type":34,"title":48,"body":49},"Technical requirements","FreshRSS is one of the most frugal self-hosting applications. Plan for 1 vCPU and 1 GB of RAM for a personal instance with a few users; 10 GB of disk is amply sufficient, the bulk of it taken up by the article history. On the software side: Docker and the Docker Compose plugin installed on the VPS, a domain name (or a subdomain like `rss.yourdomain.com`) pointed with an A record to the server's IP, and port 80\u002F443 open for the reverse proxy. PHP does not need to be installed on the host: the official `freshrss\u002Ffreshrss` image bundles everything.",{"type":51,"title":52,"steps":53},"steps","Deploy FreshRSS step by step",[54,57,60,63,66,69],{"title":55,"body":56},"Prepare the VPS and Docker","Connect via SSH, update the system, then install Docker: `curl -fsSL https:\u002F\u002Fget.docker.com | sh`. Check with `docker compose version`. Create a project folder `mkdir -p \u002Fopt\u002Ffreshrss && cd \u002Fopt\u002Ffreshrss`.",{"title":58,"body":59},"Write the docker-compose.yml","Define a service from the `freshrss\u002Ffreshrss:latest` image, mount two volumes (`.\u002Fdata:\u002Fvar\u002Fwww\u002FFreshRSS\u002Fdata` and `.\u002Fextensions:\u002Fvar\u002Fwww\u002FFreshRSS\u002Fextensions`) and set `CRON_MIN=*\u002F20` to refresh the feeds every 20 minutes. Expose internal port 80 only to the reverse proxy, not to the outside.",{"title":61,"body":62},"Launch the container","Start the stack with `docker compose up -d`, then follow the initialization via `docker compose logs -f`. The container applies the migrations and creates the data tree on first startup.",{"title":64,"body":65},"Set up the reverse proxy and SSL","Place a reverse proxy (Caddy or Nginx Proxy Manager) in front of FreshRSS. With Caddy, two lines are enough: `rss.yourdomain.com { reverse_proxy freshrss:80 }` and the Let's Encrypt certificate is obtained and renewed automatically.",{"title":67,"body":68},"Complete the web installation","Open `https:\u002F\u002Frss.yourdomain.com`, choose the database backend (SQLite for personal use, MySQL\u002FPostgreSQL for multiple users), create the administrator account and enable the API in Profile for mobile synchronization.",{"title":70,"body":71},"Import your feeds and make the cron reliable","Import your existing OPML from the old reader. Check that the internal job runs with `docker compose exec freshrss .\u002Fcli\u002Factualize.php` launched manually a first time to validate article retrieval.",{"type":73,"body":74},"tip","For sites that publish only an excerpt in their feed, install the official \"FreshRSS Content Selector\" extension: configure a CSS selector (e.g. `article.post-content`) per subscription and FreshRSS will fetch the full text on each refresh. Combine it with the filters extension to automatically hide sponsored articles detected by keyword.",{"type":34,"title":76,"body":77},"Use case: developer tech-watch feed","Add GitHub release feeds for every dependency in your project (`https:\u002F\u002Fgithub.com\u002F\u003Cowner>\u002F\u003Crepo>\u002Freleases.atom`), the Hacker News feed (`https:\u002F\u002Fnews.ycombinator.com\u002Frss`), the blogs of key maintainers in your ecosystem, and CVE feeds for your runtime and OS.\n\nFreshRSS delivers the raw chronological timeline — no algorithmic sorting, no promoted posts. Create an auto-star rule: any article containing 'security advisory' or 'breaking change' gets starred and triggers an ntfy notification to your phone. You get the signal, without the noise of social platforms.","Launch your news monitoring in minutes","The ServOrbit Cloud VPS comes with Docker preinstalled and a ready-to-use reverse proxy: deploy your FreshRSS template and take back control of your feeds, without depending on any third-party service.","Deploy on Cloud VPS","\u002Fvps-cloud",[83,99,115],{"id":84,"slug":85,"slugs":86,"title":89,"excerpt":90,"readTime":91,"views":15,"isPinned":16,"publishedAt":92,"category":93,"categories":94,"featuredImage":26,"bgImage":27,"posterImage":96,"relatedSolution":97},71,"hosting-nextcloud-on-your-own-vps",{"fr":87,"en":85,"ar":88},"heberger-nextcloud","استضافة-nextcloud-على-خادمك-الـvps-الخاص","Self-Host Nextcloud on VPS: Complete Guide, NC 34 and Security","Deploy Nextcloud 34.0.2 on your VPS with Docker and Redis. Complete guide: missing NC 34.0.0 apps, PostgreSQL oc_filecache_extended constraint, and 2FA CVEs.",12,"2026-04-10T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":23},[95],{"id":19,"name":20,"slug":21,"color":22,"icon":23},"\u002Fblog\u002Fcovers\u002Fheberger-nextcloud-poster.svg",{"categorySlug":21,"appSlug":98},"nextcloud",{"id":100,"slug":101,"slugs":102,"title":105,"excerpt":106,"readTime":107,"views":15,"isPinned":16,"publishedAt":108,"category":109,"categories":110,"featuredImage":26,"bgImage":27,"posterImage":112,"relatedSolution":113},72,"hosting-ghost-on-your-own-vps",{"fr":103,"en":101,"ar":104},"heberger-ghost","استضافة-ghost-على-خادمك-الـvps-الخاص","Hosting Ghost on your own VPS: complete 2026 guide","Deploy Ghost v6 on your VPS with Caddy, MySQL, Ghost CLI and Stripe Tax: installation, TLS reverse proxy, updates and troubleshooting common startup errors.",9,"2026-04-09T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":23},[111],{"id":19,"name":20,"slug":21,"color":22,"icon":23},"\u002Fblog\u002Fcovers\u002Fheberger-ghost-poster.svg",{"categorySlug":21,"appSlug":114},"ghost",{"id":116,"slug":117,"slugs":118,"title":121,"excerpt":122,"readTime":14,"views":15,"isPinned":16,"publishedAt":123,"category":124,"categories":125,"featuredImage":26,"bgImage":27,"posterImage":127,"relatedSolution":128},73,"host-wordpress-on-your-own-vps",{"fr":119,"en":117,"ar":120},"heberger-wordpress","استضافة-wordpress-على-خادم-vps-الخاص-بك","Host WordPress on your own VPS","Host WordPress on your VPS for maximum performance and control: Docker, MariaDB, caching, reverse proxy and SSL.","2026-04-08T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":23},[126],{"id":19,"name":20,"slug":21,"color":22,"icon":23},"\u002Fblog\u002Fcovers\u002Fheberger-wordpress-poster.svg",{"categorySlug":21,"appSlug":129},"wordpress",1787580998440]