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:
+17
-20
@@ -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';"
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user