- Shell 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| 02-network | ||
| 04-services | ||
| README.md | ||
Homelab Scripts
Operational scripts for the segmentum.app homelab (Proxmox host pve-01).
Versioned counterpart to the homelab-docs
repository: docs describe what/where, this repo holds how to operate it.
Who Runs These
- Me — one-off manual operations on the fleet (provisioning, checks).
- Hermes — the homelab AI agent reads and follows these scripts; may run the
read-only/
no_agentones directly. Live copies that the cron scheduler calls live in~/.hermes/scripts/oninfra-hermes(CT 202) — this repo is the versioned source.
Layout
Scripts mirror the homelab-docs chapter numbering (NN-<area>/), grouped by concern:
| Folder | Script | What it does | Where to run |
|---|---|---|---|
02-network/ |
provision-hermes-key.sh |
Provision the hermes fleet SSH key into service LXCs via pct exec |
pve-01 |
04-services/ |
homelab-health.sh |
Probe every service over HTTP; alert on DOWN/recovery flips | infra-hermes |
Syncing live scripts back to this repo
The cron/hardcoded paths reference the live copies under ~/.hermes/scripts/
on infra-hermes (e.g. the Homelab health monitor cron job calls homelab-health.sh
from there). This repo is the versioned source of truth, so when you edit a live
script, copy it back here and commit:
cp ~/.hermes/scripts/homelab-health.sh homelab-scripts/04-services/homelab-health.sh
cd homelab-scripts
git add -A && git commit -m "update: ..." && git push
Because they are snapshots, changes to the live copy are NOT reflected here until this sync step is done — keep them identical.
Local compute / git identity note
Push to Forgejo uses HTTPS with a one-shot token (a git credential helper that
reads FORGEJO_ACCESS_TOKEN from /home/hermes/creds.txt), so the token never
persists in .git/config or shell history. Commits are authored as
hermes <hermes@segmentum.app>.