109 lines
3.1 KiB
Markdown
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`
|