TAKEITBACK
The web was ours. We want it back!
They rent you back your own life. Take the machine back.
Convenience was the bait.
Free email, free storage, free maps. You are not the customer — you are the product. Every message, photo, and location is warehoused, indexed, and sold. The price was never zero.
Your data lives on someone else's computer.
"The cloud" is a landlord. It can raise the rent, change the locks, read your mail, or evict you — and you signed the terms without reading them. Ownership is not a subscription.
The tools to leave already exist.
Free, open, battle-tested software runs the same services on hardware you hold. A cheap box in a drawer can replace a fleet of trillion-dollar servers. You just have to plug it in.
This is not about hiding. It's about owning.
Not paranoia — stewardship. When you run the server, you set the rules, you keep the logs, you hold the keys. The machine answers to you. That is the whole point.
They made your connection one-way on purpose.
Serving a website needs two open doors: port 80 for plain HTTP and port 443 for HTTPS. Most home internet blocks both — along with no static address, upload throttled to a trickle, and a terms-of-service clause forbidding "servers" outright. That asymmetry is a business decision, not a technical limit. The good news — it's routed around easily, and the next section shows how.
01Get a box you ownRaspberry Pi · mini-PC · VPS[–]
Everything sits on this. Start cheap and local — the old laptop in your drawer, a Pi 5, or a retired mini-PC — then lock down remote access before anything else.
PermitRootLogin no
PasswordAuthentication no
root@box:~$ sudo systemctl restart ssh
02Block the trackersPi-hole · AdGuard Home[+]
Pi-hole becomes your DNS server and refuses to resolve ad and tracking domains — for every device on the network at once. No per-app installs.
# point router DHCP → DNS at this box's IP
[OK] the whole house goes quiet
03Host your own sitesCaddy · Nginx[+]
A web server with automatic HTTPS lets you serve anything under your own domain. Caddy fetches TLS certificates with zero config.
yourdomain.com {
root * /var/www/site
file_server
}
root@box:~$ caddy run # certs auto-fetched
04When your ISP blocks youTailscale · tunnels[+]
Blocked ports, CGNAT, or a no-servers clause? Don't fight the router. Tailscale builds an encrypted private network between your devices — no port-forwarding, nothing exposed, and real HTTPS certificates.
root@box:~$ sudo tailscale up
# reach your site privately, from anywhere:
root@box:~$ sudo tailscale serve --bg 80
05Own your inboxMailcow · Mail-in-a-Box[+]
The hardest rung — deliverability is genuinely tricky. Use an all-in-one stack and get three DNS records right, then warm the domain slowly.
@ TXT "v=spf1 mx ~all"
mail._domainkey TXT "v=DKIM1; k=rsa; p=..."
_dmarc TXT "v=DMARC1; p=quarantine"
06Replace the restNextcloud · Vaultwarden · Jellyfin[+]
Once the box is trusted, keep climbing. Nextcloud swaps out Drive and Photos, Vaultwarden your passwords, Jellyfin your media — each in its own container.
# update everything, no OS mess:
root@box:~$ docker compose pull && docker compose up -d