docs: consistency pass 2026-05-23 (session ×4)

- zoraxy.md: fix arcane upstream to CT109 (192.168.1.8:10002), add
  SkipWebSocketOriginCheck column, note missing routes (dozzle, etc.)
- arcane.md: reflect CT109 migration complete, expand agent table to
  all 8 environments, fix MANAGER_API_URL and DB paths
- ct-inventory.md: CT103 RAM 512→4096+swap; CT109 footnote complete
- proxmox-memory-audit.md: CT103 bump, add CT109+CT113 rows, fix sum
- portmap.md: add Wetty row, fix arcane backend, WAL-G scrape target,
  homepage decommissioned, dozzle LAN-only note
- mcp-gateway.md: add gitea/paperless/proxmox, count 26→29 servers
- RESUME.md: check off WAL-G, Loki, Zoraxy audit; CT109 in key state
  table; session ×4 completed items block

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-23 16:42:45 +02:00
parent 14137c32a7
commit 895658a115
7 changed files with 84 additions and 64 deletions
+17 -20
View File
@@ -1,8 +1,8 @@
# Arcane
Web-based Docker management IDE. Main instance on **CT 104** (`192.168.1.40:10002`, `arcane.nuclide.systems`). Manages containers on the local Docker host plus remote CTs via **edge agents**.
Web-based Docker management IDE. Main instance on **CT 109** (`192.168.1.8:10002`, `arcane.nuclide.systems`). Manages containers on all Docker hosts via **edge agents**. Migrated from CT 104 → CT 109 on 2026-05-23.
Stack: `/opt/stacks/arcane/docker-compose.yml` on CT 104.
Stack: `/opt/stacks/arcane/docker-compose.yml` on CT 109.
Image: `ghcr.io/getarcaneapp/arcane:latest`
Auth: OIDC via Pocket ID, admin: `fkrebs@nucli.de`
@@ -14,10 +14,16 @@ An edge agent (`ghcr.io/getarcaneapp/arcane-headless:latest`) runs inside each r
### Currently deployed agents
| CT | Hostname | Compose path | Status |
|----|----------|--------------|--------|
| CT 104 | docker | *(built-in NUC environment)* | online |
| CT 113 | db | `/opt/stacks/db/docker-compose.yml` | online (2026-05-21) |
| CT | Hostname | Environment | Compose path | Status |
|----|----------|------------|--------------|--------|
| CT 101 | shepard | shepard | `/opt/stacks/ops-agents/docker-compose.yml` | online |
| CT 104 | docker | docker | `/opt/stacks/ops-agents/docker-compose.yml` | online |
| CT 105 | nextcloud | nextcloud | `/opt/stacks/ops-agents/docker-compose.yml` | online |
| CT 110 | id | id | `/opt/stacks/ops-agents/docker-compose.yml` | online |
| CT 111 | dev | dev | `/opt/stacks/ops-agents/docker-compose.yml` | online |
| CT 112 | secrets | secrets | `/opt/stacks/ops-agents/docker-compose.yml` | online |
| CT 113 | db | db | `/opt/stacks/db/docker-compose.yml` | online |
| nuc | nuc | NUC (built-in) | *(built-in environment)* | online |
### Adding an edge agent to a new CT
@@ -41,7 +47,7 @@ Arcane stores the raw AGENT_TOKEN in `environments.access_token`. Insert it via:
import argon2, secrets, sqlite3, uuid
from datetime import datetime, timezone
db_path = "/rpool/data/subvol-104-disk-0/opt/stacks/arcane/data/arcane.db"
db_path = "/rpool/data/subvol-109-disk-0/opt/stacks/arcane/data/arcane.db"
env_id = "<id from step 1>" # paste the environment UUID here
conn = sqlite3.connect(db_path)
@@ -78,7 +84,7 @@ print("AGENT_TOKEN:", raw_token)
EDGE_AGENT: "true"
EDGE_TRANSPORT: poll
AGENT_TOKEN: ${ARCANE_AGENT_TOKEN}
MANAGER_API_URL: http://192.168.1.40:10002
MANAGER_API_URL: http://192.168.1.8:10002
deploy:
resources:
limits:
@@ -100,18 +106,9 @@ The environment should flip to `online` in `environments.status` within ~5 secon
---
## When Arcane moves to CT 109
## Migration to CT 109 — completed 2026-05-23
When Arcane migrates from CT 104 to CT 109 (the planned "observe" LXC):
1. Update `MANAGER_API_URL` in every edge agent's `.env` to the new CT 109 LAN IP
2. Update the Arcane compose `APP_URL` and network bindings
3. Update Zoraxy route for `arcane.nuclide.systems` to point to CT 109
4. Migrate the SQLite DB: `cp -a /opt/stacks/arcane/data/ <ct109-path>/`
5. Regenerate the admin API key (stored in memory, not config) since the DB port changes
6. Restart all edge agents with the new `MANAGER_API_URL`
Arcane environments (NUC, db, shepard) will reconnect automatically once `MANAGER_API_URL` is updated.
Arcane migrated from CT 104 CT 109. All edge agents updated with `MANAGER_API_URL: http://192.168.1.8:10002`. Zoraxy upstream updated to `192.168.1.8:10002`. SQLite DB at `/opt/stacks/arcane/data/` on CT 109.
---
@@ -121,6 +118,6 @@ Arcane doesn't store plaintext API keys — use the DB-insert method above when
The key inserted for CLI use during CT 113 provisioning (`arc_a9695182...`) is linked to `fkrebs` user in the api_keys table. Rotate it after provisioning work is complete by deleting the row:
```sql
sqlite3 /rpool/data/subvol-104-disk-0/opt/stacks/arcane/data/arcane.db \
sqlite3 /rpool/data/subvol-109-disk-0/opt/stacks/arcane/data/arcane.db \
"DELETE FROM api_keys WHERE name='admin-cli';"
```