Files
homelabstack/.claude/skills/homelab-sync/SKILL.md
T
ginnoir 56d834ede9 chore: initial homelab stack config and sync tooling
Mirror the three production files (docker-compose.yml, .env, Caddyfile) that live on valhalla, plus the push/pull PowerShell scripts, CLAUDE.md, .gitignore/.gitattributes, and .claude/skills for ssh/apply/sync.
2026-06-02 22:12:07 -05:00

1.4 KiB

name, description
name description
homelab-sync Pull the live production configs (docker-compose.yml, .env, Caddyfile) from the valhalla server into this repo so local matches what's deployed. Use at the start of any session that will edit homelab deployment config, or to check for drift between repo and production.

homelab-sync

Production (valhalla) is the source of truth. Pull before editing so you never edit a stale copy.

Run it

powershell -File sync-prod.ps1

This scps three files from valhalla, overwriting the local copies:

From valhalla Into repo
~/htpc-download-box/docker-compose.yml docker-compose.yml
~/htpc-download-box/.env .env
/config/caddy/Caddyfile Caddyfile

It overwrites local working copies — commit or stash anything you want to keep first.

Check drift without overwriting

To see how local differs from prod before deciding direction (git is installed):

$tmp = Join-Path $env:TEMP 'valhalla-compose.yml'
scp -o BatchMode=yes "ginnoir@valhalla:~/htpc-download-box/docker-compose.yml" $tmp
git --no-pager diff --no-index -- $tmp .\docker-compose.yml

(.env and Caddyfile can be compared the same way.)

After syncing, review git status / git diff to see what changed on the server since your last sync. To push local changes the other direction, use the homelab-apply skill.