It is an undeniably appealing proposition, and it reflects a broader wave of subscription fatigue sweeping through the PC and homelab community. Yet anyone who has managed servers for a living knows there is a difference between a weekend container deployment and a resilient, production-grade replacement for commercial cloud infrastructure. When you fire Google, Apple, Microsoft, or 1Password, you do not eliminate the sysadmin—you become the sysadmin.
Before you pull the plug on your paid plans, it pays to look past the pitch and examine the actual hardware requirements, Windows and Linux storage quirks, security maintenance obligations, and backup realities documented by the projects themselves.
The Pitch vs. The Paper Trail: What the Mini-PC Stack Actually Covers
The blueprint outlined at XDA centers on three pillars running inside Docker containers on a compact, headless mini PC measuring roughly 5 by 5 inches:
- Vaultwarden to replace paid password manager subscriptions while keeping compatibility with official Bitwarden client apps across Windows, macOS, Linux, Android, iOS, and web browsers.
- Immich to replace paid photo and video cloud tiers like Google Photos or iCloud, offering mobile background uploads, facial recognition, and keyword search.
- Nextcloud or a local file share (Samba/NFS) attached to NVMe or external USB storage to replace cloud drives such as OneDrive or Dropbox.
On paper, this trio targets the exact services most households and power users pay for every month. However, it is worth noting what XDA's overview does not specify: it does not name a particular mini-PC model, capacity configuration, or the specific subscription tiers that were canceled to reach its projected savings of "hundreds of dollars a year". Even the third leg of the stool is left open-ended, presenting a full cloud-sync suite like Nextcloud alongside bare Samba or NFS network shares as if they were interchangeable.
To figure out whether this stack will actually save you money—or cost you a Saturday afternoon of troubleshooting—we have to inspect the engineering details of each piece.
The Electricity Math: Real Numbers vs. Local Rates
One of the strongest arguments for retiring an aging desktop tower or surplus enterprise rack server in favor of a modern mini PC is power efficiency. XDA estimates that a headless Intel N100 or mobile Ryzen mini PC running Docker idles between 6W and 12W, and calculates that a continuous 10W load running 24/7 consumes roughly 88 kWh per year, placing the annual electricity bill between $13 and $18.
The underlying energy math holds up: 10 watts over 8,760 hours in a standard year equals 87.6 kWh. Where your mileage will vary is both the load and the utility bill:
- Idle vs. Active Load: A system running facial-recognition machine learning jobs and video transcoding in Immich, plus external USB or NVMe drives, will not sit at a flat 10W continuously.
- Regional Power Rates: According to the U.S. Energy Information Administration, 2025 average retail electricity prices varied dramatically by state, ranging from 8.20 cents per kWh in North Dakota to 35.72 cents per kWh in Hawaii. Even at a steady 87.6 kWh per year, that translates to anywhere from roughly $7.18 to $31.30 annually before factoring in storage drives or networking gear.
Still, compared to an older desktop idling at 50W to 80W, an N100-class mini PC is genuinely frugal. The real hardware trap is not wattage—it is memory and filesystem architecture.
Immich Under the Hood: RAM, Filesystems, and the Windows WSL 2 Trap
Immich has earned a passionate following among self-hosters because its interface and timeline feel remarkably close to Google Photos. However, as How-To Geek points out in its own look at budget mini-PC servers, Immich is purpose-built for photos and videos rather than general document storage. More importantly, Immich’s official documentation spells out strict system requirements that buyers of bargain-basement mini PCs need to heed before clicking "buy."
| Component | Immich Minimum Requirement | Immich Recommended Spec | Key Operational Caveat |
|---|---|---|---|
| Operating System | 64-bit Linux / Unix-like OS | Ubuntu, Debian, or similar Linux | Windows and macOS via Docker Desktop are "strongly discouraged" by the project. |
| Memory (RAM) | 6 GB (4 GB without ML) | 8 GB or more | Postgres alone needs at least 2 GB if resource limits are applied; 4 GB requires disabling machine learning. |
| Processor (CPU) | 2 Cores (x86-64-v2 for ML since v3) | 4 Cores (amd64 or arm64) | Heavy initial imports, thumbnail generation, and video transcoding will peg budget cores. |
| Storage Overhead | Local SSD for Postgres DB | Unix-compatible filesystem (EXT4, ZFS, etc.) | Thumbnails and transcoded videos add 10% to 20% to total photo library size on average. |
Why Windows Hosts Need Special Care
Many Windows enthusiasts pick up a mini PC that ships with Windows 11 Pro preinstalled and assume they can simply install Docker Desktop and spin up their containers. Immich’s official requirements page explicitly discourages non-Linux host operating systems, warning that they tend to provide a poor Docker experience and that official troubleshooting support is severely reduced.
If you do run Immich on a Windows host via Docker Desktop or WSL 2, there is a critical storage landmine documented by the Immich team: the PostgreSQL database (DB_DATA_LOCATION) will not work on NTFS, exFAT, or FAT32 filesystems, nor will it work in WSL when bind-mounted to a host Windows directory under /mnt. Because Postgres requires a filesystem that supports Unix user/group ownership and permissions (EXT4, ZFS, BTRFS, XFS, or APFS), Windows users must switch the database bind mount in their .env and docker-compose.yml files to a named Docker volume (DB_DATA_LOCATION=pgdata) stored inside the Linux virtual environment, and keep that database on local SSD storage rather than a network share.
Mobile Auto-Backup Is One-Way, Not Magic
XDA highlights automated mobile background uploads and "zero artificial compression" as major draws for Immich. While Immich preserves original uploaded assets in its upload directory, its official documentation notes that it also generates thumbnails and re-encodes videos for playback compatibility, which increases your storage footprint by an average of 10% to 20% on top of the raw files.
Furthermore, mobile auto-upload in Immich has platform-specific boundaries documented by the developers:
- One-Way Sync: Immich’s album synchronization mirrors selected mobile albums to the server in one direction (device to server). It is not a two-way synchronization engine.
- Android Battery Limits: Aggressive OEM battery optimization on Android can kill the background upload worker unless the user manually exempts the Immich app or configures it to run while charging.
- iOS Background Refresh: On iPhones, users must enable Background App Refresh, and iOS itself decides when background tasks are allowed to run based on how frequently you open the app. Additionally, if your iPhone photos live in iCloud, Immich must pull them down into a local cache folder to hash and upload them, temporarily consuming local storage and bandwidth.
Section Summary: Immich is a powerhouse for local photo management, but budget mini-PC shoppers should avoid 4 GB RAM models if they want facial recognition and machine learning search. Windows users who do not want to wipe their mini PC for Ubuntu or Debian must configure Docker volumes carefully to avoid NTFS database corruption.
Vaultwarden: Lightweight Brilliance, Heavy Responsibility
If Immich is the resource hog of the homelab, Vaultwarden is the featherweight champion. Written in Rust, Vaultwarden is an unofficial alternative implementation of the Bitwarden Client API. Because it speaks the same API protocol, you can point the official Bitwarden desktop apps on Windows and macOS, browser extensions, and iOS/Android apps at your own server URL and enjoy nearly identical day-to-day usability without paying a commercial subscription fee.
Note that Bitwarden’s own individual Premium plan now costs $19.80 per year (it rose from the long-standing $10 rate in early 2026), while competitors like 1Password run roughly $3.99 per month. That means replacing a solo password manager alone won't pay off a mini PC overnight, though family plans or multi-service consolidations tilt the math faster.
More pressing than the price tag is the security model. According to the Vaultwarden project repository on GitHub, it is strictly an unofficial project; users are explicitly instructed not to contact official Bitwarden support channels for bugs or troubleshooting. When you host Vaultwarden, you are running the crown jewels of your digital identity on your own box.
Security Advisories Are Not Theoretical
Self-hosted software is sometimes romanticized as "set it and forget it," where keeping data off big tech servers automatically makes it safer. In reality, running a password server requires active patch management. On October 3, 2026, the Vaultwarden project published ten moderate-severity security advisories (GHSA-wc45-m6pv-rrf9, GHSA-jq2g-h4xr-4mcr, GHSA-96f7-78q5-j345, GHSA-f3qw-qg77-hmm4, GHSA-vh5m-fc9v-m84g, GHSA-xwf8-pjh7-h589, GHSA-rxhg-2pw9-vf25, GHSA-88qc-6ch9-mc3j, GHSA-455c-vgg9-jxw8, and GHSA-rqf8-2568-r7mc) covering issues that included:
- Unauthenticated WebSocket connection flooding on
/notifications/anonymous-hubleading to resource-exhaustion denial of service. - Server-Side Request Forgery (SSRF) filter bypass where regex checks were not applied post-resolution.
- Cross-organization cipher access and organization import vulnerabilities.
- Send access count limits bypassed via concurrent requests or new endpoints.
The takeaway isn't that Vaultwarden is unsafe—transparent disclosure and rapid patching are hallmarks of healthy open-source maintenance. Rather, the takeaway is that a self-hosted password vault must be updated regularly and shielded from the open internet.
Per Vaultwarden’s official Hardening Guide on GitHub, anyone deploying the container should immediately take several lock-down steps:
- Require HTTPS/TLS: The bundled web vault relies on the browser Web Crypto API, which refuses to function without a secure HTTPS context. Vaultwarden’s guide warns against using Rocket’s built-in development TLS in production, recommending a reverse proxy or secure tunnel instead.
- Disable Open Registration: By default, Vaultwarden allows anonymous users who can reach the server to create new accounts. Once you create your account, disable registration (
SIGNUPS_ALLOWED=false) and disable password hints on the login page. - Avoid Raw IP Exposure: Internet scanners like Shodan routinely index exposed Bitwarden/Vaultwarden instances by IP address.
File Sync: Nextcloud vs. Samba/NFS Shares
For the third subscription replacement—swapping out OneDrive, Google Drive, or Dropbox—XDA suggests either deploying Nextcloud, spinning up a local file-sync container, or configuring a straightforward Samba/NFS network share backed by NVMe or USB storage.
For Windows users, it helps to separate these two very different architectures:
- Samba (SMB) or NFS Shares: Mapping an SMB network drive in Windows File Explorer is fast, low-overhead, and rock-solid while you are sitting on your home Wi-Fi or Ethernet LAN. However, an SMB share is not an offline file-sync engine by default. If you take your laptop to a coffee shop without an active VPN connection back home, a basic network share won't seamlessly cache and background-sync folders across your desktop and phone the way OneDrive does.
- Nextcloud: Nextcloud’s official administration manual documents dedicated Desktop Sync Clients for Windows, macOS, and Linux alongside mobile apps. Nextcloud monitors local directories on your PC and automatically synchronizes changes with your home server so you always have local copies and remote access. The trade-off is that Nextcloud is a full web application stack that takes more maintenance than a simple LAN file share.
Remote Access and the 3-2-1 Backup Imperative
What happens when you leave the house and need to autofill a password or pull up a tax PDF from your phone? XDA recommends avoiding open port forwarding in favor of a mesh VPN like Tailscale or a reverse proxy.
Immich’s remote-access documentation reinforces this in bold terms: never forward port 2283 directly to the internet without additional configuration. Because actively developed self-hosted software can harbor undiscovered vulnerabilities, exposing an application login page directly to the public internet invites automated exploitation.
For most home administrators, a VPN mesh such as Tailscale or WireGuard is the safest path: your mini PC exposes zero open ports on your home router, and your phone or laptop connects over an encrypted tunnel as if it were sitting on your living room couch. If you choose a public reverse proxy instead so family members don't have to run a VPN client, Immich’s documentation notes that you must serve the app from a root domain or subdomain (not a subpath), allow large upload body sizes for video files, and forward WebSocket and client IP headers properly.
How Not to Lose Your Life’s Photos: Backing Up Databases and Files
When you cancel iCloud, Google One, or OneDrive, you also cancel their geographically redundant data centers. If a power surge fries your mini PC's NVMe drive or a thief walks off with the 5x5-inch box tucked behind your TV, everything on it vanishes unless you have engineered your own safety net.
Both XDA and Immich’s official documentation advocate a 3-2-1 backup strategy (three copies of your data, on two different storage media, with one copy stored off-site or in an encrypted secondary cloud target using tools like Borg or rsync).
Crucially, copying your photo folder to an external USB drive is not a complete Immich backup. According to Immich’s Backup and Restore documentation:
- The Database Holds the Map: Immich stores file paths, albums, and user metadata inside its PostgreSQL database and does not passively scan the library folder. Without the database dump, your metadata and album structures are gone.
- Automatic Dumps Are Metadata Only: By default, Immich generates daily database dumps at 2:00 AM and retains the last 14 backups inside
UPLOAD_LOCATION/backups. However, those.sql.gzfiles do not contain your photos or videos—you must back up bothUPLOAD_LOCATION/backupsand your original media directories (UPLOAD_LOCATION/uploadorUPLOAD_LOCATION/library, plusUPLOAD_LOCATION/profile). - Backup Ordering Matters: If you back up a live server without stopping the container, Immich advises backing up the database first and the filesystem second. Reversing that order can leave the database pointing to newly uploaded files that were missed by the earlier file copy, resulting in broken assets upon restore.
Section Summary: Keep your self-hosted stack off the public internet by using a VPN tunnel rather than raw port forwarding, and test your restore procedure before deleting a single photo from your paid cloud account.
Practical Checklist: Should You Make the Jump?
Consolidating subscriptions onto a quiet mini PC is one of the most rewarding projects a PC enthusiast can tackle, provided you treat it as an infrastructure upgrade rather than a quick coupon code. If you are planning to build this stack, follow this order of operations:
- Size the Hardware for Immich, Not Just Vaultwarden: An Intel N100 or mobile Ryzen mini PC is plenty capable, but pair it with at least 8 GB of RAM (or 16 GB if you plan to add Nextcloud and other containers) and a reliable local NVMe SSD.
- Pick Linux Over Windows for the Host OS: Even if every client PC in your house runs Windows 11, install a 64-bit Linux distribution like Ubuntu Server or Debian on the mini PC itself—or run a full Linux virtual machine—to avoid Docker Desktop overhead and NTFS permission failures on PostgreSQL databases.
- Migrate One Service at a Time: Follow the advice echoed across veteran homelab builds: start with a single service like Vaultwarden, lock down registration (
SIGNUPS_ALLOWED=false), verify your automated off-site backups, and run it in parallel with your paid cloud service for a few weeks before canceling any subscriptions.
Correction (October 17, 2026): The price cited for Bitwarden Premium has been updated from $10 per year to $19.80 per year. Bitwarden raised the individual Premium plan to $1.65/month billed annually ($19.80/year) in early 2026.
References
- I stopped paying for 3 cloud subscriptions after deploying Immich and Vaultwarden on a mini PC XDA · 2026-10-17T11:30:19+00:00
- Overview · dani-garcia/vaultwarden · GitHub github.com
- github.com github.com