A recent hands-on showcase by Parth Shah at XDA Developers highlights one of the most practical ways to rescue a retired rig from the scrap heap: repurposing it as a low-overhead Docker host running five self-hosted containers—Memos, AdGuard Home, Kavita, Grocy, and File Browser. In Shah’s setup, those five services reportedly used roughly 1GB of combined RAM on paper, leading him to recommend having at least 2GB to 3GB of available memory for smooth day-to-day operation.
Those numbers are an encouraging real-world anecdote, and they sit comfortably alongside wider home-lab experimentation reported across XDA Developers, How-To Geek, and MakeUseOf, where users routinely turn dual-core laptops with 4GB of RAM, $100 mini PCs, or older 8GB office desktops like an HP ProDesk 600 G3 into quiet background appliances. Still, if you are reading this from a Windows desk and eyeing an old Windows 10 or Windows 11 box, there are major architectural caveats—and one critical 2026 security and maintenance warning—you need to know before typing docker run.
The Windows Host Reality Check: Container RAM vs. System RAM
Why does a stack of five web applications sip a single gigabyte of memory in one person's setup while choking a budget Windows PC in another? The answer comes down to the host operating system and container runtime.
When writers talk about containers consuming 1GB of RAM "on paper" and needing 2GB to 3GB of available memory, they are describing the footprint of the containerized workloads themselves—not the full overhead of running a modern Windows desktop underneath them. XDA Developers' report does not specify the host hardware, processor, or operating system used for the test, so those memory figures should be treated as an individual experience rather than a universal benchmark.
If your plan is to keep Windows installed on that old machine and simply install Docker Desktop for Windows, you will hit a much steeper hardware wall. According to Docker's official Windows installation documentation, running Docker Desktop with the Windows Subsystem for Linux 2 (WSL 2) backend requires:
- At least 8GB of system RAM
- A 64-bit processor with Second Level Address Translation (SLAT)
- BIOS/UEFI hardware virtualization enabled
- A supported 64-bit edition of Windows and WSL 2 version 2.1.5 or later
Because Docker Desktop on Windows spins up a lightweight utility virtual machine via WSL 2 or Hyper-V to run Linux containers, that virtualization layer claims its own slice of CPU and memory before your first container even starts.
How do you actually pull off the ultra-low-memory magic on an older 4GB machine? You generally have two paths:
- Use the old PC as a Linux server for your Windows fleet: Wipe the aging PC, install a lightweight Linux distribution (which runs the Docker Engine natively without a heavy desktop VM), and access all five web services from your main Windows 11 desktop, laptop, or phone browser.
- Use an old PC that already has 8GB+ of RAM: If you want to keep Windows on the retired machine and use Docker Desktop, make sure the system comfortably clears Docker's 8GB host requirement so the OS, WSL 2, and your containers are not fighting over swap space.
Section Summary: While five lightweight containers may only use around 1GB of RAM by themselves, Docker Desktop for Windows requires at least 8GB of total system RAM and WSL 2 support. Very low-memory PCs are best repurposed with a native Linux host OS that serves browser apps to your Windows machines over the local network.
Breaking Down the 5-Container Revival Stack
Once your host environment is sorted out, what do these five containers actually do, and how do they behave when you deploy them for real? Let's inspect each service against its official documentation.
1. Memos: Frictionless, Timeline-Based Note-Taking
Heavyweight note-taking suites often feel like a part-time job—forcing you to design folder hierarchies, nested databases, and templates before you can jot down a single IP address or PowerShell snippet. Memos takes the opposite route, presenting a clean, timeline-style feed for quick thoughts, Markdown notes, checklists, inline #tags, attachments, and saved filter "Views."
Why is it so gentle on aging hardware? According to the official Memos documentation, a standard deployment runs as a single container (neosmemo/memos:stable) exposing port 5230 and using an embedded SQLite database by default. While Memos can connect to external MySQL or PostgreSQL servers if you want them, SQLite removes the need to run separate database or caching containers that eat up extra RAM.
Practical setup tips for Windows and home-lab admins:
- Persistent storage is mandatory: Map a host folder (such as
-v ~/.memos:/var/opt/memos) so your SQLite database survives container updates. - Privacy defaults: A fresh Memos instance defaults to private access, meaning ordinary memo pages require sign-in and the first account you create becomes the administrator.
- Backups: Memos (from version 0.31 onward) includes an export-and-import workflow, though official documentation notes that archive exports contain your notes and attachments without encryption—so store your backup files somewhere secure.
2. AdGuard Home: Network-Wide DNS Filtering (With Boundaries)
Installing ad blockers on every browser across every PC, tablet, and smartphone in your house is tedious; on smart TVs and locked-down mobile apps, it is often impossible. AdGuard Home solves this by acting as a local Domain Name System (DNS) server for your entire network. When you point your router (or individual Windows network adapters) to the IP address of the PC running AdGuard Home, it intercepts DNS queries and blocks known advertising, tracking, and malicious domains before a connection is ever made, while giving you a live dashboard of network queries and support for encrypted upstream DNS (like DNS-over-HTTPS, DNS-over-TLS, and DNS-over-QUIC).
However, veteran network admins know that running DNS inside Docker comes with important fine print documented in the AdGuard DNS Knowledge Base:
- Port and networking requirements: Standard DNS requires mapping both TCP and UDP port
53(-p 53:53/tcp -p 53:53/udp), alongside web ports like3000and80for initial setup and the admin dashboard. Furthermore, AdGuard notes that if you want the dashboard to see individual client IP addresses on your LAN (rather than a generic Docker bridge IP like172.17.0.1), or if you want to use AdGuard Home's built-in DHCP server, you need Docker's--network hostmode. Crucial Windows caveat: According to AdGuard's Docker documentation, the--network hostdriver only works on Linux hosts and is not supported in the same way on Docker Desktop for Windows. - What DNS filtering cannot do: AdGuard's own documentation emphasizes that DNS filtering is a coarse instrument. Unlike a browser extension or full network-filtering desktop app, a DNS blocker cannot perform cosmetic filtering (meaning it cannot hide the blank white boxes left behind by blocked ads), cannot block complex ads served from the same primary domain as the content you want to watch, and cannot tell which specific app on your Windows PC generated a DNS query. Think of it as an indispensable network-wide shield to pair with your browser's content blocker, not a 100% replacement for it.
- Security rule #1: Never port-forward port
53of your home DNS server to the public internet, as open DNS resolvers are prime targets for amplification attacks and abuse.
3. Kavita: A Private Digital Reading Library
If your hard drives are cluttered with technical PDFs, EPUBs, comic archives (CBZ/CBR), and manga, Kavita turns an old PC into a slick, browser-accessible reading server. Rather than copying files back and forth via USB sticks or cloud drives, you mount your media directories into the container, map port 5000, and let Kavita index your collection.
From there, any desktop or mobile browser on your network gets built-in readers for EPUBs, PDFs, and comics, automatic reading-progress tracking, metadata management, and collections. For a modest personal library, Kavita runs comfortably without the massive transcoding overhead associated with video-streaming servers, though performance on older CPUs and mechanical hard drives will naturally depend on how many thousands of large PDFs or archives it has to scan and index at once.
4. Grocy: "ERP Beyond Your Fridge"
Self-described on its official GitHub repository as "ERP beyond your fridge," Grocy brings enterprise-style resource planning to your pantry and household chores. Instead of juggling separate mobile apps for grocery lists, meal plans, chore schedules, and tracking which rechargeable batteries or household appliances need maintenance, Grocy puts all of it into a single PHP-backed web interface.
A few practical details from Grocy's official setup documentation make it especially interesting for Windows users and tinkerers:
- Multiple ways to run: In addition to the official all-in-one Docker image (
grocy/grocy-docker) and the LinuxServer image (linuxserver/docker-grocy, which is tailored for users who already run a reverse proxy), Grocy also offers a standalone Windows desktop application (grocy-desktop) and a Home Assistant add-on. - The barcode scanning catch: Grocy supports scanning product barcodes right from a smartphone or tablet camera through its web interface. However, Grocy's documentation points out a strict browser security rule: camera barcode scanning in the browser only works when Grocy is served over an encrypted
HTTPSconnection. If you just spin it up over plainHTTPon a local IP address, your phone browser will block camera access until you configure local TLS certificates or a reverse proxy. - Alternative option: If Grocy's full pantry-and-recipe workflow feels like overkill and you only want to track household items, warranties, and asset locations, Homebox is a popular lightweight alternative worth evaluating.
5. File Browser: A Simple Web File Server—With a Major 2026 Security Caveat
In XDA Developers' roundup, File Browser rounds out the stack as a lightweight, single-binary web file manager with an embedded database. Mount a directory, map port 8080:80, grab the one-time randomly generated admin password from the container console logs on first boot, and you get a clean web portal to upload, download, rename, organize, and share files across Windows PCs, Macs, and phones without the bulk of a full Nextcloud deployment.
Hold the phone before you deploy this one. While File Browser's low resource footprint is real, inspecting the official filebrowser/filebrowser GitHub repository reveals a critical development that every self-hoster needs to know: the official File Browser repository was archived on September 1, 2026.
According to the project's repository notice, it is now read-only and receives no further releases, bug fixes, or security patches. Furthermore, the project's security advisory page logs multiple 2026 vulnerabilities, including high-severity advisories. For example, a June 3, 2026 security advisory detailed a command-injection risk when an administrator enables the command-execution feature and configures a shell (a feature the maintainers disabled by default starting in version 2.33.8).
What does this mean for your home lab?
- Do not treat File Browser as a set-and-forget public cloud: Because the upstream project is archived and unmaintained as of late August 2026, you should never expose a File Browser container to the public internet.
- Keep it strictly local—or pick an actively maintained tool: If you only need a quick web drop-box inside a trusted home LAN with command execution disabled, understand that you are running end-of-life software. If you want an actively patched way to move files between a Windows desktop, MacBook, and phone on minimal hardware, consider a maintained peer-to-peer synchronization container like Syncthing (frequently praised in XDA's mini-PC builds for cross-platform local transfers) or verify the maintenance status of any community fork before trusting it with sensitive documents.
Section Summary: Memos, AdGuard Home, Kavita, and Grocy remain capable, actively documented tools when configured with their networking and HTTPS quirks in mind. However, the official File Browser repository was archived on September 1, 2026, meaning it no longer receives security fixes and should never be exposed outside a strictly trusted local network.
Quick Comparison: The 5-Container Stack at a Glance
| Container | Primary Role | Default Port(s) & Storage Architecture | Key Windows / Home-Lab Caveat |
|---|---|---|---|
| Memos | Timeline Markdown notes & tasks | Port 5230; single container with embedded SQLite (~/.memos) | Exports/backups are unencrypted; keep persistent volume backed up. |
| AdGuard Home | Network-wide DNS ad/tracker blocker | Ports 53 (TCP/UDP), 80, 443, 3000; config + work volumes | --network host (for client IPs/DHCP) is Linux-only; does not replace browser cosmetic ad blocking. |
| Kavita | Ebook, PDF, comic & manga server | Port 5000; config volume + media bind mount | Indexing speed scales with library size and host disk/CPU speed. |
| Grocy | Pantry, shopping, recipe & chore ERP | Port 80/443; PHP + local data folder (config.php) | Browser camera barcode scanning requires HTTPS. |
| File Browser | Web-based local file manager | Port 8080:80; data, DB, and config volumes | Archived Sep 1, 2026 (no security patches). Keep off the public internet. |
How to Safely Repurpose Your Old PC Without Shooting Yourself in the Foot
If you are ready to dust off that spare machine this weekend, follow a disciplined deployment checklist so your new home server stays reliable and secure:
- Match the OS to your RAM: If your spare PC has 4GB of RAM, skip Docker Desktop for Windows and install a lightweight Linux server distribution to run Docker natively. If the PC has 8GB or more and you prefer staying on Windows, verify that BIOS virtualization and WSL 2 (v2.1.5+) are updated, and cap WSL 2's memory allocation in your
.wslconfigfile so it doesn't starve the host. - Use explicit bind mounts or named volumes: Containers are ephemeral by design. Always map your configuration and database paths (
-v) to a known folder on your host drive so you can back them up easily to an external drive or NAS. - Lock down network exposure: Keep administrative dashboards (like AdGuard Home, Memos, and especially archived tools like File Browser) strictly on your private LAN. If you need to reach your notes or shopping list while away from home, use a private VPN tunnel rather than opening router ports to the world.
- Audit project health before pulling images: The Docker Hub registry is full of images that still download cleanly long after their developers have walked away. Always check a project's source repository for recent commits and security advisories before making it a permanent pillar of your digital life.
Giving an old PC a second life with containers is one of the most rewarding projects in personal computing—not because it magically turns legacy hardware into a supercomputer, but because thoughtful, single-purpose software doesn't need a supercomputer to be genuinely useful.
Correction (October 17, 2026): The File Browser repository's archive date was corrected from August 31, 2026 to September 1, 2026, per the project's official GitHub repository notice.
References
- I almost retired my old PC until these 5 lightweight Docker containers gave it a purpose XDA · 2026-10-17T19:30:20+00:00
- I turned an old desktop into a private cloud with 5 Docker containers makeuseof.com
- 4 Docker containers I run 24/7 that made my $100 mini PC worth every penny xda-developers.com