2.1 KiB
2.1 KiB
Gitea Backup Setup for Hermes Config
This documents the exact setup done in session 2026-05-24 for Andy's homelab.
Repo
https://gitea.conlon.fun/andy/hermes-config.git (user: andy)
What's Tracked
| Path | Purpose |
|---|---|
config.yaml |
Model provider, toolsets, feature toggles |
SOUL.md |
Persona definition |
memories/ |
MEMORY.md + USER.md |
skills/ |
All installed skills (bundled + agent-created) |
scripts/ |
Custom automation scripts (snapshot, Calibre scan, grocery CRUD) |
cron/jobs.json |
Scheduled job definitions |
kanban.db |
Multi-agent board |
reading_*.json |
Reading list and state |
channel_directory.json |
Gateway platform routing |
What's NOT in Git
| File | How to restore |
|---|---|
~/.hermes/.env |
Contains OPENROUTER_API_KEY, MATRIX_ACCESS_TOKEN — copy from safe backup |
~/.hermes/auth.json |
OAuth tokens — copy from safe backup |
memory_store.db, state.db |
Latest snapshot in ~/.hermes/backups/ |
Auth Setup
Gitea API token: stored in git credential helper at ~/.hermes/.git-credentials:
https://andy:TOKEN@gitea.conlon.fun
Token permissions: user-level (needs repo create/push access).
Initial Commit Stats
- 667 files
- ~213K lines
- Commit message:
init: hermes agent config, skills, memories, and scripts
Push Pattern
cd ~/.hermes
git add -A # or selective add
git commit -m "type: concise message"
git push
Cron Snapshot Job
| Field | Value |
|---|---|
| Name | daily-db-snapshot |
| Schedule | 0 4 * * * (daily at 4AM ET) |
| Script | scripts/snapshot_hermes_db.sh |
| Mode | no_agent=true |
| Retention | 30 days via find -mtime +30 -delete |
| Next run | next scheduled 4AM tick |
The script copies memory_store.db and state.db to ~/.hermes/backups/ with timestamps.
Recovery Path
From README.md (committed in the repo):
- Install Hermes via curl install script
- Clone repo to ~/.hermes
- Restore .env + auth.json from safe backup
- Restore latest DB snapshots from backups/
- Verify skills and cron jobs auto-load
- Start gateway