<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Darkboy7766</title>
    <description>The latest articles on DEV Community by Darkboy7766 (@darkboy7766).</description>
    <link>https://dev.to/darkboy7766</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4175462%2F89a1d3a2-2cc3-4ce0-8810-89581656bafe.png</url>
      <title>DEV Community: Darkboy7766</title>
      <link>https://dev.to/darkboy7766</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/darkboy7766"/>
    <language>en</language>
    <item>
      <title>I replaced 11 SaaS apps with self-hosted ones in a homelab: here is what each one really costs in RAM</title>
      <dc:creator>Darkboy7766</dc:creator>
      <pubDate>Tue, 13 Oct 2026 16:06:39 +0000</pubDate>
      <link>https://dev.to/darkboy7766/i-replaced-11-saas-apps-with-self-hosted-ones-in-a-homelab-here-is-what-each-one-really-costs-in-1p1b</link>
      <guid>https://dev.to/darkboy7766/i-replaced-11-saas-apps-with-self-hosted-ones-in-a-homelab-here-is-what-each-one-really-costs-in-1p1b</guid>
      <description>&lt;p&gt;&lt;em&gt;Disclosure: I run &lt;a href="https://www.homelabdeck.dev" rel="noopener noreferrer"&gt;HomelabDeck&lt;/a&gt;, a directory of self-hosted apps. Every app below was installed in my own homelab (Proxmox, LXC containers), and the RAM figures come from that setup.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Subscriptions add up, and your photos, passwords and documents sit on someone else's servers. Self-hosting gets that control back, but most "best self-hosted apps" lists copy each other and never show the apps running. So I installed them, took screenshots and wrote down what each one needs.&lt;/p&gt;

&lt;h2&gt;
  
  
  The short version
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Instead of&lt;/th&gt;
&lt;th&gt;Self-host&lt;/th&gt;
&lt;th&gt;RAM (estimate)&lt;/th&gt;
&lt;th&gt;License&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Google Photos&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.homelabdeck.dev/en/apps/immich" rel="noopener noreferrer"&gt;Immich&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;~4 GB&lt;/td&gt;
&lt;td&gt;AGPL-3.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Plex&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.homelabdeck.dev/en/apps/jellyfin" rel="noopener noreferrer"&gt;Jellyfin&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;~2 GB&lt;/td&gt;
&lt;td&gt;GPL-2.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bitwarden Cloud&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.homelabdeck.dev/en/apps/vaultwarden" rel="noopener noreferrer"&gt;Vaultwarden&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;~128 MB&lt;/td&gt;
&lt;td&gt;AGPL-3.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Todoist / Trello&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.homelabdeck.dev/en/apps/vikunja" rel="noopener noreferrer"&gt;Vikunja&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;~512 MB&lt;/td&gt;
&lt;td&gt;AGPL-3.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Feedly&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.homelabdeck.dev/en/apps/freshrss" rel="noopener noreferrer"&gt;FreshRSS&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;~256 MB&lt;/td&gt;
&lt;td&gt;AGPL-3.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GitHub (private repos, CI)&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.homelabdeck.dev/en/apps/gitea" rel="noopener noreferrer"&gt;Gitea&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;~512 MB&lt;/td&gt;
&lt;td&gt;MIT&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UptimeRobot&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.homelabdeck.dev/en/apps/uptime-kuma" rel="noopener noreferrer"&gt;Uptime Kuma&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;~256 MB&lt;/td&gt;
&lt;td&gt;MIT&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Zapier / IFTTT&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.homelabdeck.dev/en/apps/n8n" rel="noopener noreferrer"&gt;n8n&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;~1 GB&lt;/td&gt;
&lt;td&gt;Sustainable Use&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Notion / Confluence (wiki)&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.homelabdeck.dev/en/apps/wiki-js" rel="noopener noreferrer"&gt;Wiki.js&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;~512 MB&lt;/td&gt;
&lt;td&gt;AGPL-3.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google Keep&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.homelabdeck.dev/en/apps/memos" rel="noopener noreferrer"&gt;Memos&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;~256 MB&lt;/td&gt;
&lt;td&gt;MIT&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Audible (your own files)&lt;/td&gt;
&lt;td&gt;&lt;a href="https://www.homelabdeck.dev/en/apps/audiobookshelf" rel="noopener noreferrer"&gt;Audiobookshelf&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;~512 MB&lt;/td&gt;
&lt;td&gt;GPL-3.0&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;RAM numbers are estimates from my tests; real usage grows with library size and users.&lt;/p&gt;

&lt;h2&gt;
  
  
  What surprised me
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Vaultwarden is tiny.&lt;/strong&gt; It is written in Rust and sat well under 100 MB at idle for a family-sized vault. If you only self-host one thing, this is the cheapest to run.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Immich is the heavy one.&lt;/strong&gt; The machine-learning container (face recognition, CLIP search) is the biggest RAM and CPU consumer and scales with your library. Plan 4 GB as a comfortable baseline for a small library.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Jellyfin's real cost is transcoding,&lt;/strong&gt; not the app. Direct play is light; 4K transcoding needs a capable CPU or hardware acceleration (Quick Sync, NVENC).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Several apps need PostgreSQL&lt;/strong&gt; (Immich, Vikunja, Wiki.js, Paperless-ngx), while Vaultwarden, FreshRSS, Gitea, Uptime Kuma and n8n get by with SQLite. Check this before you deploy.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Honest caveats
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;n8n uses the Sustainable Use License: the source is available, but it is not classic open source.&lt;/li&gt;
&lt;li&gt;Self-hosting means &lt;strong&gt;you&lt;/strong&gt; own the backups and the updates. A password manager without a tested backup is a risk, not a feature.&lt;/li&gt;
&lt;li&gt;A self-hosted photo library is not a backup of itself.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How I would start
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Pick one app that replaces something you pay for today.&lt;/li&gt;
&lt;li&gt;Run it in a small LXC container or on a Docker host.&lt;/li&gt;
&lt;li&gt;Copy the &lt;code&gt;docker-compose.yml&lt;/code&gt; from its page and adjust the paths.&lt;/li&gt;
&lt;li&gt;Add a reverse proxy (I use Nginx Proxy Manager) and set up backups before you trust it with real data.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Each app has a page with dashboard screenshots, the compatibility matrix and a ready-to-use compose file: &lt;a href="https://www.homelabdeck.dev/en/apps" rel="noopener noreferrer"&gt;homelabdeck.dev/en/apps&lt;/a&gt;. I also post short weekly notes on what I add: &lt;a href="https://www.homelabdeck.dev/en/updates" rel="noopener noreferrer"&gt;homelabdeck.dev/en/updates&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;What are you self-hosting that I should test next? Tell me in the comments.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>selfhosted</category>
      <category>homelab</category>
      <category>opensource</category>
      <category>docker</category>
    </item>
  </channel>
</rss>
