Halley / Lightweight Config Management for Small Stacks

Created Sun, 01 Jun 2025 16:31:00 +0000 Modified Sun, 31 Aug 2025 22:17:24 +0000
250 Words

Self-hosting grows quietly.
One service becomes five, five becomes fifteen.
Before you know it, you’ve got half a dozen machines and no idea which config is current.

You don’t need enterprise config management.
You do need something.

The Drift Problem

Configs rot when:

  • You tweak settings ad hoc and forget to document
  • One machine gets patched, others don’t
  • You rely on memory for flags and file locations

Configuration drift is downtime waiting to happen.

Version Control as the Baseline

Start simple:

  • Keep copies of your config files in a private git repo
  • Commit after changes with meaningful messages
  • Store example .env or secret templates without actual secrets

A diff is worth more than your memory.

Templating Without the Bloat

Instead of Ansible or Chef:

  • Use basic template files and small scripts to render per-host variables
  • rsync or scp to deploy
  • Document what script pushes which file where

Boring beats clever when you’re the only admin.

Central Documentation

Alongside configs, keep:

  • A README per service with setup notes
  • Dependencies (which service relies on which)
  • Restart and recovery steps

Future you won’t remember the incantations.

Test Changes Safely

Never edit live without a backup:

  • Stage changes locally or on a VM
  • Commit and push to repo before deployment
  • Roll back quickly if it breaks

Safety nets matter more than automation fashion.

Monitor Drift Periodically

Once a month:

  • Pull live configs and diff against your repo
  • Fix discrepancies intentionally
  • Keep systems predictable

Consistency is security.
A small, boring config process beats heroic troubleshooting.