Highly available Docker apps - Part 05 - Getting the traffic to the right host
Traefik with health checks, split-horizon DNS for internal clients, and HAProxy on a VPS passing TLS through for the public names - with the real client address intact.
Traefik with health checks, split-horizon DNS for internal clients, and HAProxy on a VPS passing TLS through for the public names - with the real client address intact.
A follower that starts each app where its database is the primary, using Compose profiles in .env, and a file sync with a key that can only do one thing.
cert-manager requesting certificates from step-ca over ACME, Headlamp as the web GUI, and the full list of gotchas from the series.
One email per new post.
A new Debian 13 server next to the old Ubuntu one, a rehearsal against the real data without touching it, and a cutover with 9 minutes of downtime.
15 min readOne PostgreSQL 18 image with Patroni for every app: synchronous replication between two sites, the settings that matter, and the commands you need.
9 min readVolumes that survive losing a node: Longhorn on the nodes' own disks, a test volume, and a UI that needs a password it does not have.
8 min readThe referee of the whole setup: a small WireGuard network to a VPS and a three-member etcd across two sites - and the first gotcha, which makes Patroni wait forever.
7 min readReal LoadBalancer addresses on the home network with MetalLB, RKE2's Traefik behind one of them, and a wildcard DNS record for every future application.
5 min readMy identity provider, password manager and git server on two Docker hosts at two sites, with automatic failover and no Kubernetes: what HA means here, the pieces, and why a witness.
7 min read