Get in touch →
To be done
21
Completed
20
§1

Still open, by area

A. Backups & durability
Pick an off-node backup target: a NASNot started
Scheduled pg_dump for both PostgreSQL instances, plus WAL archiving if dumps aren't enoughNot started
Replicate the RustFS buckets to the backup targetNot started
Export the MikroTik configuration on a schedule and keep it off the routerNot started
Run a real restore test, then write down the procedure that workedNot started
B. Identity & secrets
Decide which services really need Authentik SSO, then move them one at a time with a way backNot started
Make Infisical the real source of truth, then point the Jenkins jobs at itNot started
C. High availability
Keep the monitoring stack alive when a node goes downNot started
Duplicate the critical pieces: proxies, databases and the sites clients useNot started
D. Automation
Turn the base machine setup into Ansible instead of typing it on every hostNot started
Describe the VMs and LXC containers with OpenTofuNot started
Configure Wake-on-LAN on pve03Not started
E. Observability
Write log-based alert rules in Loki (its ruler already points at Alertmanager)Not started
Dedicated security alerting, separate from general monitoringNot started
F. Physical infrastructure
Move the hardware into a proper rackNot started
Redo the Ethernet cablingNot started
Add a UPS so a power cut doesn't take everything downNot started
Hardware for local AI beyond the GTX 1070Not started
G. Edge
Put the public services behind a CDN with DDoS protection, such as CloudflareNot started
H. Documentation
Check every service's documented config against the real hostNot started
Keep proxy diagrams and firewall docs in sync with Caddy and RouterOSNot started
§2

Done

ItemStatus
Split one flat network into eight VLANs, each with a single purposeComplete
Default-deny firewall on the MikroTik, with one rule per allowed flowComplete
A second DNS server, synced by TSIG-authenticated zone transfersComplete
Remote access over two WireGuard tunnels, one for work and one for administrationComplete
Three Caddy reverse proxies: public, internal and managementComplete
✓ a clear role for every node✓ every service, address and route documented✓ runbook: add a WireGuard peer✓ runbook: add a WireGuard tunnel✓ runbook: bring a new VLAN online✓ separate prod and dev PostgreSQL✓ S3-compatible storage (RustFS)✓ my own file cloud (OpenCloud)✓ my own photo library (Immich)✓ Jenkins + Harbor pipeline✓ Prometheus, Loki and Alertmanager✓ SSO with MFA (Authentik)✓ secrets manager (Infisical)✓ my own sites, self-hosted✓ one dashboard with every link