Systems
Most of what I write about happens here. Roles and stacks, no addresses — this is a description, not a map.
Hosts
| Name | Role |
|---|---|
| Pinky | The container host. Most services run here — workflow automation, secret management, local model inference, a vector store, self-hosted file sync, metasearch. |
| Josie | Monitoring, and nothing else. Deliberately separate hardware from everything it watches. |
| A Mac mini | The bridge to things that only exist on macOS: mail, calendar, messages. |
Stack
- Containers managed through a web UI, with stacks defined in files rather than clicked into existence.
- Workflow automation for scheduled jobs — the largest single source of silent failure in the estate, by a wide margin.
- Open-weight models running locally on a discrete GPU in the container host, for anything that shouldn't leave the house.
- Centralised secrets. Nothing in a script, nothing in a note.
- A NAS plus direct-attached storage for bulk data.
- Uptime monitoring with alerting to a chat client, covering both services and the automations themselves.
Operating rules
Each of these was written after something broke in a way that took too long to notice.
- Silence is not health. The absence of a signal has to be actively detected. It is never noticed passively.
- Fail loudly. A caught error is an invisible error. Most schedulers report success unless something throws.
- Watch the watcher. Monitoring has to be monitored by something it doesn't control.
- Survive a reboot. Verify autostart from the persisted process list. Don't assume the process manager kept it.
- Break the alert once. An untested alert path is an assumption, not a control.