Alexander Janzen · IT infrastructure
DE EN
Projects

I learned most of it at home.

Privately I run my own network: virtualisation, networking, storage, monitoring and automation. Not as a hobby toy, but as a practice field for exactly the topics that matter at work — which is why you see the architecture here, but no credentials and no internal details.

1 sign-in for every service, with a second factor
0 open ports on the router — access runs through a tunnel and identity checks
6 zones in the network, each with its own purpose and addressing rule
daily backups, checks and alerts without anyone touching anything

The architecture

How the layers work together — from the device on the road to the data.

Diagram: access from outside through a tunnel and identity check to the virtualisation platform with its services, with tested storage beneath
Access, platform and storage. Nothing is reachable on the router from outside: the path runs through a tunnel and an identity check with a second factor — only after a complete sign-in does any interface appear at all. Behind it, services run separately from one another on a virtualisation platform, with tested storage underneath.
Overview of the six network zones with their purpose and the way addresses are assigned
Six zones, firm rules. Server addresses are configured in the device itself and sit outside the automatic range. Devices without a fixed address therefore cannot take a server's address — I ran into exactly that problem once, and this layout is the answer to it.

What I have built privately

01

Virtualisation platform

Proxmox VE as the base, with virtual machines and containers (Docker with Compose) on top, separated by job: network and name resolution, files and archive, monitoring, automation. Planned, built and run continuously — including addressing, updates and restoring from backups.

02

Segmented network

Six zones for servers, fixed workstations, automatic devices, reserved places, guests and remote access. Own DNS with filtering (AdGuard Home), addressing by plan — and a network document listing every address.

03

Storage & backup

TrueNAS with ZFS as central storage, a backup onto a second machine and regular checks that existing backups are really still usable. A backup that was never tested does not count for me.

04

Access with a gatekeeper

Services reachable from outside, but not exposed: access through a tunnel with no open ports on the router, with an identity check (Authelia) and a second factor in front. After several failed attempts the account is locked and I get a notification.

05

Monitoring & alerting

A dashboard with metrics on utilisation, storage, power consumption and services; reachability checking in the network (NetAlertX); automation that reports when a threshold is crossed. I notice problems before I am standing in front of them.

06

Everyday automation

Python and Bash scripts for recurring tasks: backups, checks, reports, maintenance windows. Anything that happens more than twice gets a command from me.

How I work

Six principles that show up in this setup.

  • Describe first, then build. Address plan, services and access rules live under version control (Git). The description is the source of truth, not my memory — six months from now as well.
  • No backup without a rehearsal. A backup whose restore was never tested is a hope. I restore it before I call it a backup.
  • Access only through identity. Every service sits behind a sign-in with a second factor; several failed attempts trigger a lock and a notification to me. No service is reachable "just quickly" without protection.
  • Changes stay traceable. Every configuration change is a version with a reason. When something breaks I want to know what I changed and when — not guess.
  • Report instead of searching. Thresholds, outages and failed sign-ins raise alerts. I find out before someone calls.
  • Less surface to attack. What I do not need is switched off rather than just unused; permissions as narrow as possible; credentials in a vault instead of a file on the desktop.

Technology in use

Tools I run here every day — not from a catalogue, but in operation.

  • Proxmox VE
  • LXC containers
  • Docker & Compose
  • ZFS
  • TrueNAS
  • Nginx Proxy Manager
  • AdGuard Home
  • Authelia with TOTP
  • WireGuard
  • Cloudflare Tunnel
  • NetAlertX
  • Home Assistant
  • Shelly
  • Python
  • Bash
  • Git
  • Cron

Remote access to the internal network runs over WireGuard — that way I work on the same systems on the road as I do at home, without exposing any interface to the open internet.

From practice — four faults, four lessons

The interesting stories are not the ones where everything worked, but the others.

  • A smart device took a server's address. The service was unreachable for a few minutes. Cause: the range used for automatic addressing contained the servers' addresses — a device without a fixed address received exactly the address that was already in use. Fixed: moved automatic addressing behind every fixed place, then checked every device individually. That uncovered a second case: the central storage was still getting its address automatically, which would have broken every connection on the next lease change. Lesson: an addressing plan is only as good as the check that follows it.
  • A device answered but was not reachable. The management interface reported the device as fine — the controller still could not reach it. Cause: the device was stuck on an old address while the controller's cache still held the old value. Fixed: verified the address at the device itself (cross-checked via its hardware address), corrected the cache, restarted the controller — in exactly that order, otherwise the restart pulls the old state back. Lesson: when the interface and reality disagree, reality wins.
  • The host stalled under load. Under write load on the disks the virtualisation host became slow to the point of being unusable. Cause: the transfer path the virtual machines use to reach the disks. Fixed: switched to a different transfer path and added monitoring for stalled systems. No failures of that kind since. Lesson: damping symptoms does not help — without the cause, the fault comes back.
  • A hardening test instead of an assumption. After rebuilding remote access I requested every published address without signing in: all of them answered "access denied", not a single interface was visible. Also verified: after several failed attempts the lock kicks in and sends me a notification. Lesson: "should be protected" is not proof — I test it, before anyone else does.

And professionally

Point-of-sale and store systems in retail

Consulting and analysis for point-of-sale software used nationwide: reproducing fault patterns, rebuilding test environments, clarifying hardware and firmware topics, documenting results — often in topics that affect several teams at once.

Data centre & support

Earlier roles: operating and supporting data centre infrastructure, backups, user administration and support — that is where I learned how much a clean handover and documentation are worth.

Questions about a project? Write to me.