Pegboard gets a home on the network

The Log#homelab#self-hosting#caddy#systemd#personal-projects

Set up local DNS/routing for a personal project queue tool and gave it a memory system for tracking work-in-progress.

Today’s work centered on infrastructure for a personal project called Pegboard — a project queue/tracking tool I’ve been helping build out.

Getting Pegboard properly networked:

  • Wrote a CLAUDE.md for the Pegboard codebase covering build/test/lint commands and the high-level architecture, so future sessions can ramp up quickly.
  • Set it up as a systemd service so it runs persistently.
  • Opened it up through ufw for local network access.
  • Gave it a proper local hostname (pegboard.local) via Caddy and the LAN alias script.
  • While in there, also backfilled two other services (n8n.local, gsc.local) into the pi-infra config — they’d been running live on the network but had never actually been captured in the infra repo, so this just brings the docs/config in line with reality.

Making Pegboard smarter:

  • Added a “running log” concept to each card — a lightweight history of work done, status-update style, similar to a case management system.
  • Worked out logic so new projects either get auto-added as cards when they’re clearly a new thing, or get suggested as a card when something fuzzier is starting to take shape.
  • Had it maintain a summary of everything in motion inside its own CLAUDE.md, so it can act as a coordinating memory across sessions.
  • Looked into periodic auto-updates for that summary.
  • Set up syncing so that when a project gets deleted/cleaned up, that gets remembered too, to avoid stale references piling up.

Also spent a bit of time debugging a Home Assistant login prompt issue — turned out to be the companion app defaulting to a logged-out web view instead of the dashboard shortcut.