A laptop from 2018 with a dying battery and a cracked hinge is not junk. Left running headless in a closet, it can filter every ad on your home network and hand off your gaming PC’s Steam library to a phone in the next room. That is roughly what happened to a writer at XDA, who turned a retired laptop into a permanent fixture of their home network by pairing a DNS-level ad blocker with a self-hosted game-streaming server. Once both were running, the laptop stopped being spare hardware and became infrastructure.
The pitch for the best apps for turning an old laptop into an ad-blocking and game-streaming hub is simple: one machine, two unrelated jobs, and neither one needs much CPU. Ad blocking is mostly DNS lookups. Game streaming leans on the GPU in your gaming rig, not the laptop doing the streaming. That combination is why a machine too slow for daily use is still fast enough to run both jobs for years. We picked eight apps that cover the DNS layer, the streaming layer, the remote-access layer, and the plumbing that keeps all of it observable and easy to manage from a browser.
What to look for in a home-lab laptop stack
The laptop itself matters as much as the software. Look for low idle power draw, since this machine runs 24/7 and the electricity bill adds up over a year. Headless operation with SSH access means you never need to open the lid again. Support for Docker or containerd keeps every service isolated and easy to update without breaking the others. Wake-on-LAN lets you power the machine on remotely instead of leaving it running around the clock. A dedicated or capable integrated GPU matters if Sunshine will be doing hardware encoding for game streaming, and a quiet fan matters because this thing is probably sitting in a living room or a hallway, not a server rack.
Quick comparison table
| App | Best for | Platforms | Free plan | Starting price/mo |
|---|---|---|---|---|
| Pi-hole | Network-wide DNS ad blocking | Linux, Docker | Full features, self-hosted | Free |
| AdGuard Home | DoH/DoT-aware ad blocking | Windows, Linux, Docker | Full features, self-hosted | Free |
| Sunshine | Self-hosted game streaming server | Windows, Linux | Full features, self-hosted | Free |
| Moonlight | Game streaming client | Windows, Linux, and more | Full features | Free |
| Tailscale | Remote access to the home network | Windows, Linux | Up to 3 users, 100 devices | Free |
| Docker Desktop / Docker Engine | Running everything in containers | Windows, Linux | Free for personal use | Free |
| Portainer | Web GUI for Docker | Windows, Linux | Community edition | Free |
| Netdata | Real-time resource monitoring | Windows, Linux | Local dashboard, community tier | Free |
The apps
#1 Pi-hole – DNS-level ad blocker
Pi-hole sits between your router and the internet and answers DNS queries itself, dropping any request that matches a known ad or tracker domain before it ever reaches a device. It runs as a lightweight Linux service or a single Docker container, so it is the natural first thing to install on a repurposed laptop. Every phone, smart TV, and game console on the network gets the blocking automatically, with no per-device app to install or maintain.
Where it falls short: DNS blocking cannot touch ads embedded in the same domain as the content, like a lot of YouTube’s in-video ads. Setup also asks you to be comfortable pointing your router’s DNS at the laptop’s static IP, which trips up people who have never touched their router settings.
Pricing: Free, open-source, self-hosted.
Platforms: Linux (native or Docker), also runs inside a Raspberry Pi or any always-on machine.
Bottom line: The default choice for anyone who wants ad blocking that covers every device on the network without touching a single one of them.
#2 AdGuard Home – DoH-friendly ad blocker
AdGuard Home does the same core job as Pi-hole, filtering DNS network-wide, but it ships with DNS-over-HTTPS and DNS-over-TLS support built in and a setup wizard that gets a working blocklist running in a few minutes. Its web dashboard is friendlier to skim than Pi-hole’s, and it runs comfortably on Windows as well as Linux, which matters if the old laptop is still on Windows and you would rather not wipe it.
Where it falls short: The plugin and community ecosystem is smaller than Pi-hole’s, so obscure blocklists or third-party dashboards are harder to find. Some devices that hardcode their own DNS-over-HTTPS resolver can bypass it entirely.
Pricing: Free, open-source, self-hosted.
Platforms: Windows, Linux, macOS, Docker.
Bottom line: Pick AdGuard Home over Pi-hole if the hub is staying on Windows or you want encrypted DNS handled out of the box.
#3 Sunshine – self-hosted GameStream server
Sunshine turns any Windows or Linux machine with a GPU into a self-hosted game-streaming host, encoding your screen and audio and sending it to a Moonlight client anywhere on the network. It is the direct, actively maintained replacement for Nvidia’s discontinued GameStream, and it works with Nvidia, AMD, and Intel encoders. This is the piece that lets a laptop in the closet act as the traffic cop for streaming Steam, Xbox, or Epic games from your actual gaming PC to a phone, tablet, or TV.
Where it falls short: Sunshine typically runs on the gaming PC itself, not the ad-blocking laptop, since that machine needs the GPU doing the actual rendering. Getting hardware encoding working correctly on older or integrated GPUs takes some trial and error with settings.
Pricing: Free, open-source, self-hosted.
Platforms: Windows, Linux, macOS (experimental).
Download: GitHub
Bottom line: The app that makes local game streaming possible at all, and the reason the “streaming hub” half of this setup works without a subscription.
#4 Moonlight – the client that pairs with Sunshine
Moonlight is the client half of the streaming pair, connecting to a Sunshine host over the local network or over Tailscale and rendering the video feed with low latency on whatever screen you point it at. It runs on essentially everything: phones, tablets, smart TVs, old laptops, and even other desktops, which is what makes the “stream to any screen in the house” pitch real. Pairing takes a PIN code the first time and then remembers the host for every session after.
Where it falls short: Stream quality depends heavily on network conditions, and a weak Wi-Fi signal or an overloaded router shows up immediately as blur or stutter. It is a client only, it needs a Sunshine host running somewhere to connect to.
Pricing: Free, open-source.
Platforms: Windows, Linux, macOS, Android, iOS, tvOS, Raspberry Pi.
Bottom line: Install this on every device you want to stream games to, and pair it with Sunshine running on the gaming PC.
#5 Tailscale – Wireguard mesh so this works away from home
Tailscale builds a private mesh network over Wireguard between every device you add to it, so the ad-blocking laptop and any Moonlight client can reach each other securely whether you are on the home Wi-Fi or on a hotel network across the country. Once it is installed on the hub and on a phone, both DNS filtering and game streaming keep working outside the house without opening a single port on the router. Setup is a login and a single command per device.
Where it falls short: Free accounts cap out at three users and a hundred devices, which is plenty for a household but not for anything bigger. Streaming performance over a mobile connection is still bound by upload speed on the home network’s end.
Pricing: Free up to 3 users and 100 devices. Paid team tiers scale beyond that.
Platforms: Windows, Linux, macOS, Android, iOS.
Download: Website
Bottom line: The piece that turns a home-only setup into something that follows you, without touching router port forwarding.
#6 Docker Desktop / Docker Engine – the container runtime
Docker runs Pi-hole, AdGuard Home, and most of the rest of this stack as isolated containers, so each service gets its own environment and an update to one never breaks another. On Linux, Docker Engine runs as a lightweight background service with no GUI needed. On Windows, Docker Desktop adds a management interface on top of the same engine. Containers also make it trivial to wipe and rebuild a single service without touching the whole laptop.
Where it falls short: Docker Desktop on Windows carries real memory overhead from its virtualization layer, which matters more on an old laptop with limited RAM. Learning container networking and volume mounts is a real learning curve for someone who has never used Docker before.
Pricing: Free for personal use and small business under Docker’s current terms.
Platforms: Windows, Linux, macOS.
Download: Website
Bottom line: The plumbing everything else in this list sits on top of, worth learning once and reusing for every future project.
#7 Portainer – GUI for Docker
Portainer puts a web dashboard in front of Docker so you can start, stop, and inspect containers, check logs, and pull updates without memorizing command-line flags. It runs as a container itself, connects to the Docker engine already on the laptop, and is reachable from any browser on the network, which matters on a headless machine with no monitor attached. For a hub running four or five services at once, it is faster to manage from Portainer than from SSH every time.
Where it falls short: It adds another service to keep updated and another attack surface if the dashboard is exposed outside the home network without protection. The interface groups a lot of advanced options behind menus that take some poking around to find.
Pricing: Free community edition. Business edition around $100 per year adds role-based access and support, optional for a single-user home setup.
Platforms: Windows, Linux, macOS, Docker.
Bottom line: Skip the terminal for day-to-day container management once this stack grows past two or three services.
#8 Netdata – resource monitoring
Netdata shows real-time CPU, memory, disk, and network graphs for the laptop and every container on it, updating every second in a browser dashboard with no configuration needed out of the box. On a machine you rarely look at directly, it is the fastest way to notice a container that has started eating all the RAM or a DNS query load spike before it turns into downtime. It auto-detects most running services and starts charting them immediately after install.
Where it falls short: The default dashboard throws a lot of metrics at you at once, and finding the handful that matter for a small home hub takes some initial filtering. Cloud features for multi-node dashboards and longer retention sit behind a paid team tier.
Pricing: Free local dashboard and community tier. Paid Netdata Cloud tiers add team features and longer history.
Platforms: Windows, Linux, macOS, Docker.
Bottom line: Cheap insurance that tells you exactly which container to blame when the old laptop starts acting up.
How to pick the right one
If you are starting from zero and want the least friction: install Pi-hole first, confirm it is filtering DNS on your own devices, then add Sunshine and Moonlight once ad blocking is stable. Doing both at once multiplies the number of things that can go wrong during setup.
If the hub is staying on Windows rather than being wiped to Linux, go with AdGuard Home over Pi-hole. Its Windows install path is smoother and its dashboard needs less tuning out of the gate.
If you want game streaming to work from outside the house, Tailscale is not optional. Port forwarding for Moonlight traffic is a real security exposure; a Wireguard mesh is not.
If you plan to run more than two or three services on the same laptop, put everything in Docker from day one and manage it through Portainer. Retrofitting containers onto services you installed natively later is more work than starting there.
If you just want to know whether anything is misbehaving without SSHing in every week, Netdata is the one app on this list that pays for itself the first time it catches a runaway process before you would have noticed.
FAQ
Do I need a powerful laptop to run Pi-hole and Sunshine on the same machine?
No. Pi-hole barely touches the CPU since it is answering DNS lookups, not decoding video. Sunshine typically runs on the gaming PC that has the GPU doing the actual encoding, not on the ad-blocking laptop, so the old laptop only needs to handle DNS filtering and light container overhead.
Is Pi-hole or AdGuard Home better for a home network?
Both block ads at the DNS level for every device on the network with no per-device setup. Pi-hole has a larger community and more third-party blocklists and dashboards. AdGuard Home has DNS-over-HTTPS built in and a friendlier setup wizard, and it runs more comfortably on Windows.
Can I stream games to my phone using Moonlight without Sunshine?
No. Moonlight is a client only. It needs a Sunshine server running on the machine that actually has the game installed and a GPU to encode the stream. Install Sunshine on the gaming PC and Moonlight on whatever device you want to play from.
Does Tailscale slow down game streaming?
It adds negligible overhead compared to a direct local connection when both devices are on the same home network. Streaming over Tailscale from outside the house is limited by your home network’s upload speed, not by Tailscale itself.
Do I need Docker to run Pi-hole or AdGuard Home?
No, both install as native Linux services without Docker. Docker is optional but makes updates and troubleshooting easier, since each service stays isolated and a bad update to one container never breaks the others.
How much electricity does an always-on ad-blocking laptop actually use?
An old laptop idling with the lid closed and screen off typically draws somewhere in the range of 5 to 15 watts, which adds up to a few dollars a month on most electricity rates. That is why low idle power draw matters more than raw CPU speed when picking which retired machine to repurpose.