Files
hermes-config/skills/devops/hermes-config-management/references/gitea-backup-setup.md

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):

  1. Install Hermes via curl install script
  2. Clone repo to ~/.hermes
  3. Restore .env + auth.json from safe backup
  4. Restore latest DB snapshots from backups/
  5. Verify skills and cron jobs auto-load
  6. Start gateway