# quiXzoom Arkitekturinventering — 2026-06-13 22:30 UTC **Syfte:** Komplett koll inför betalläge. Vad finns, vad saknas, vad är riskigt. --- ## 1. DOMÄNER & NGINX — QUIXZOOM | Domän | Status | Vad det gör | |-------|--------|-------------| | `quixzoom.com` | ✅ 200 | Redirect → www.quixzoom.com | | `www.quixzoom.com` | ✅ 200 | Serverar `/opt/amos/public/quixzoom/`, root = zoomer-start.html | | `api.quixzoom.com` | ✅ 200 | API-gateway för quiXzoom-stacken | ### api.quixzoom.com routing (nginx): - `/api/missions/` → port 7060 (**⚠️ INGEN PROCESS — 000**) - `/api/regulatory/` → port 7050 (**⚠️ INGEN PROCESS — 000**) - `/api/qz/engine/` → port 3390 (quixzoom-engine Rust ✅) - `/api/qz/` → port 3209 (quixzoom-api Node.js, 90 restarts ⚠️) - `/health` → port 3209 - `/` (fallback) → port 3100 (amos-core) ### www.quixzoom.com routing: - `/api/qz/` → port 3209 - `/api/quixzoom/` → port 3209 (legacy alias) - `/` → statiska filer från `/opt/amos/public/quixzoom/` --- ## 2. TJÄNSTER — QUIXZOOM-STACKEN | Tjänst | Port | Runtime | Status | Notering | |--------|------|---------|--------|----------| | quixzoom-api | 3209 | PM2 Node.js | ✅ online, **90 restarts** | /opt/amos/data/quixzoom-api/index.mjs | | quixzoom-engine | 3390 | systemctl Rust | ✅ active, 1.6MB RAM | Kör sedan 2026-06-05 | | billing-engine | 3392 | systemctl Rust | ✅ active, 1.4MB RAM | payments.aamos.systems | | qz-webhook | 9100 | PM2 Node.js | ✅ online, 1 restart | /home/bernt/qz-ci/webhook.js | | missions-service | 7060 | ??? | ❌ **SAKNAS** | nginx pekar dit, ingen process | | regulatory-service | 7050 | ??? | ❌ **SAKNAS** | nginx pekar dit, ingen process | --- ## 3. KRITISKA FYND ### 🔴 RÖTT — åtgärda innan betalläge 1. **quixzoom-api 90 restarts** — PM2 id 7 kraschar och startar om kontinuerligt (19min uptime). Okänd rotorsak. MÅSTE undersökas och stabiliseras. 2. **Port 7060 (missions) saknar process** — nginx-config för api.quixzoom.com routar `/api/missions/` dit men ingenting lyssnar. Om betalflöde kräver missions → broken endpoint. 3. **Port 7050 (regulatory) saknar process** — samma problem. `/api/regulatory/` returnerar 502. 4. **www.quixzoom.com saknar index.html / zoomer-start.html** — nginx har `root /opt/amos/public/quixzoom; index zoomer-start.html` men `zoomer-start.html` finns EJ i katalogen (ls visar det ej). `join.html` finns — är det rätt entry-point? ### 🟡 GULT — bör städas 5. **quixzoom-api körs via PM2, inte systemctl** — inkonsekvent med resten av stacken. Borde vara systemctl för reproducerbar autostart och journald-logging. 6. **qz-webhook kör från /home/bernt/qz-ci/** — utanför `/opt/amos/`, icke-standard plats. Borde flytta till /opt/amos/data/ och bli systemctl. 7. **Legacy /api/quixzoom/ alias** — dubbel routing-path. Borde konsolideras till /api/qz/ och alias tas bort när zoomer-app.html uppdaterats. 8. **amos.wavult.com har gamla quiXzoom-routes** — `proxy_pass http://127.0.0.1:3209/api/qz/` syns i gammal wavult-config. Borde pekas bort eller tas bort. --- ## 4. FULLSTÄNDIG TJÄNSTEKARTA (hela servern) ### Systemctl — aktiva: - aamos-analytics-engine (Rust) - aamos-api-gateway (port 3206, Rust) - aamos-audit-engine - aamos-bank-import - aamos-billing-engine (port 3392) - aamos-financial-engine (port 3203) - aamos-health-aggregator (port 3299) - aamos-ledger (port 3250) - aamos-quixzoom-engine (port 3390) - aamos-sie-import - amos-core (port 3100) - amos-watchdog - bernt-admin - clickhouse (Docker) - nats-server (port 4222) - ollama (port 11434 localhost) - openclaw-gateway (port 18789) - ouroboros-expenses (port 3226) - ouroboros-finance (port 3202?) - ouroboros-identity (port 3207) - ouroboros-payroll (port 3231) - pgbouncer (port 6432 localhost) - mail-stack (Mailu, Docker) ### PM2 — aktiva: - ai-gateway (port 3270, pm2 id 10) - ouroboros-identity-proxy (port 4011, pm2 id 2) - provider-monitor (pm2 id 11) - quixzoom-api (port 3209, pm2 id 7) ⚠️ - qz-webhook (port 9100, pm2 id 14) ### PM2 — stoppade (döda): - audit-proxy, gfiae, ouroboros-commerce-proxy, ouroboros-finance-proxy, ouroboros-multiorg, ouroboros-people-proxy, ouroboros-restaurant, ouroboros-time --- ## 5. REKOMMENDERAD ÅTGÄRDSLISTA (prioriterad) **P0 — innan betalläge:** 1. Debugga quixzoom-api kraschar (pm2 logs quixzoom-api --lines 100) 2. Avgör om 7060/7050 ska finnas — om ja: deploya, om nej: ta bort nginx-locations 3. Verifiera att www.quixzoom.com serverar rätt entry-point (zoomer-start.html vs join.html) **P1 — stabilitet:** 4. Migrera quixzoom-api från PM2 → systemctl 5. Migrera qz-webhook från PM2 → systemctl 6. Ta bort legacy /api/quixzoom/ alias efter app-uppdatering **P2 — städning:** 7. Ta bort/inaktivera gamla wavult.com-configs som routar quiXzoom 8. Rensa bort döda PM2-processer (delete från pm2, inte bara stop)