Skip to main content

Connecting to portal…

wolf-cloud.com — a Linux homelab

The cloud is just a bunch of computers.
These ones are ours.

Files, photos, chat, mail and code — running across a small network of Linux servers I administer myself. Most of it lives on hardware at home, with different machines handling different parts of the infrastructure. Open-source where possible, self-hosted where it makes sense, and no dependence on one machine doing everything. Started as a way to stop handing my data to someone else's servers, and it's stuck around because it's genuinely fun to run.

Services

What's running right now

Eight self-hosted services spread across the infrastructure, isolated from each other and routed through a common public gateway.

Architecture

How it's put together

Several machines, a collection of containers, and a gateway that ties them together.

01 Several servers, one infrastructure

Wolf Cloud runs across multiple Linux machines rather than relying on one box to do everything. The main application server handles most services, while other machines take care of things like the public gateway, mail and supporting infrastructure. Each can be maintained, restarted or replaced independently.

02 Docker per service

Most applications get their own container, with their dependencies and configuration kept separate. I can rebuild or restart Nextcloud without touching Matrix, Immich or the rest of the network.

03 Config lives in GitLab, not in my head

The setup is kept as text files under version control wherever practical. Rebuilding a machine means reinstalling Linux, restoring its data and deploying known configuration — not trying to remember what I typed six months ago.

04 ZFS underneath the important data

Persistent data lives outside the containers on managed storage. ZFS provides checksumming, snapshots and redundancy where it matters, with backups providing another way back when snapshots aren't enough.

05 One gateway in front of the web

Public web traffic reaches a dedicated reverse proxy first. It handles HTTPS and routes each subdomain to the right service on the internal network. The application containers themselves don't need to be directly exposed to the internet.

06 Some things deliberately live elsewhere

Not every service belongs on the main application server. Mail and other infrastructure with different networking or availability requirements run on separate hosts while remaining part of the same Wolf Cloud network.