Files
hermes-recovery/README.md
T

109 lines
3.1 KiB
Markdown

# Hermes Recovery — Complete Resurrection Kit
**If Sho'Nuff dies, this is how you bring him back.**
## What's Here
| Directory | What | Count |
|---|---|---|
| `scripts/` | All operational scripts | 81 |
| `configs/` | Hermes config.yaml, .env.example, persona, brief | 4 |
| `references/` | Design decisions, runbooks, specs, signature module | 62 |
| `systemd/` | All custom systemd service units | 25+ |
| `cron/` | Full crontab dump | 9 jobs |
| `caddy/` | Caddy reverse proxy config | 1 |
| `docker/` | Compose files for all services | 11 |
## Resurrection Steps
### 1. Provision Server
- netcup RS 2000 or higher (8+ vCPU, 16+ GB RAM)
- Debian 13, SSH key `itpp-infra`
- Open ports: 22, 80, 443
### 2. Install Base
```bash
apt-get update && apt-get install -y curl git python3 python3-pip docker.io docker-compose-plugin ufw caddy
ufw allow 22/tcp && ufw allow 80/tcp && ufw allow 443/tcp && ufw --force enable
```
### 3. Install Hermes Agent
```bash
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
```
### 4. Restore Configs
```bash
# Copy config.yaml to ~/.hermes/config.yaml
# Copy .env.example to ~/.hermes/.env → fill in actual secrets
# Copy persona to ~/.hermes/persona.md
```
### 5. Restore Scripts
```bash
cp scripts/* ~/.hermes/scripts/
chmod +x ~/.hermes/scripts/*.sh
```
### 6. Deploy Services (Docker)
```bash
for d in docker/*/; do
cd "$d" && docker compose up -d
done
```
### 7. Restore Caddy
```bash
cp caddy/Caddyfile /etc/caddy/Caddyfile
systemctl restart caddy
```
### 8. Restore Cron Jobs
```bash
# Review crontab.txt, adjust paths if needed
crontab cron/crontab.txt
```
### 9. Restore Systemd Units
```bash
cp systemd/*.service /etc/systemd/system/
systemctl daemon-reload
systemctl enable --now hermes.service
```
### 10. Restore Data from S3
```bash
# Hermes state: aws s3 sync s3://hermes-vps-backups/live/ ~/.hermes/
# Docker volumes: individual restore per service
```
## Critical Credentials (Fill These In)
| File | What |
|---|---|
| `~/.hermes/.env` | All API keys, tokens, passwords |
| `~/.config/himalaya/*.pass` | Email account passwords |
| `~/.ssh/itpp-infra` | SSH private key |
| `~/.aws/credentials` | Wasabi S3 access |
## Servers You Control
| Server | IP | Provider | Role |
|---|---|---|---|
| Core | 152.53.192.33 | netcup RS2000 | Hermes + gateway |
| app1 | 152.53.36.131 | netcup RS4000 | Open WebUI, LiteLLM, Ollama, n8n, MCPs |
| app2 | 152.53.39.202 | netcup RS4000 | UNMS, Hudu, Traccar, UniFi, Gitea, Caddy |
| app3 | 152.53.241.111 | netcup RS2000 | WordPress, Apex Track |
| app1-bu | 5.161.114.8 | Hetzner CPX11 | Warm standby |
| wphost02 | 5.161.62.38 | Hetzner | WordPress |
| ai | 178.156.167.181 | Hetzner | admin-ai |
## Documentation (Gitea)
Full project docs at `https://git.itpropartner.com/ippadmin/`:
- `itpp-infrastructure` — Server inventory, DNS, architecture
- `disaster-recovery` — DR plan v3, recovery manual, issue log
- `hermes-skills` — 25 skill categories
- `hudu`, `unifi`, `unms`, `mcp-servers`, `scripts`
- `dre`, `shark-game`, `osint-tool`, `apex-track`, `boxpilot`, `fleettracker360`, `voipsimplicity`, `digital-signage`