atlas-os/docs/system-of-record.md
Chaib Aarab 51b47c103e feat: OS v4 categorized launcher (38 apps) + verified system-of-record
- web/os.html: all verified-live services as desktop apps, grouped into
  Cockpit / Identity / AI / Work / Files & Comms / Ops / Sites launcher
- excludes dead endpoints (ai 404, mail 502, twenty 502) — no dead tiles
- docs/system-of-record.md: audit-verified inventory of every service +
  websites, with live/dead/SSO status, AI-history map, security posture
2026-06-22 20:35:35 +02:00

7.2 KiB

Atlas — System of Record (verified)

Auto-generated from a read-only infrastructure audit (9 dimensions, 324 items, 106 agents). Every URL below was live-checked directly from the box. This is the single source of truth for what exists and whether it works.

Tools & services (atlas-01)

Service Status Access
ai.atlascorporation.nl — AI gateway (litellm) — backend gone 🔴 404 dead
auth.atlascorporation.nl — Authentik SSO (identity provider) 🟢 live
cfo.atlascorporation.nl — CFO finance panel 🔐 SSO-gated
chat.atlascorporation.nl — Open WebUI (AI chat) 🔐 SSO-gated
cloud.atlascorporation.nl — Nextcloud (files, calendar) 🟢 live
command.atlascorporation.nl — Command center + Atlas OS 🔐 SSO-gated
fidi.atlascorporation.nl — Firefly III data importer / bank 🟢 live
git.atlascorporation.nl — Forgejo (git) 🟢 live
leeragent.atlascorporation.nl — Leeragent 🔐 SSO-gated
llm.atlascorporation.nl — AI gateway 🟢 live
mail.atlascorporation.nl — Webmail — DOWN (bad gateway) 🔴 502 down
mesh.atlascorporation.nl — MeshCentral (remote desktop) 🟢 live
mindmap.atlascorporation.nl — STEEPLE mindmap 🔐 SSO-gated
n8n.atlascorporation.nl — n8n automation 🔐 SSO-gated
odoo.atlascorporation.nl — Odoo 19 CRM/ERP 🔐 SSO-gated
office.atlascorporation.nl — Office suite 🟢 live
paperless.atlascorporation.nl — Paperless-ngx (documents) 🟢 live
proxy.atlascorporation.nl — Proxy gateway 🟢 live
relay.atlascorporation.nl — Relay service 🟢 live
stalwart.atlascorporation.nl — Stalwart mail admin 🔐 SSO-gated
twenty.atlascorporation.nl — Twenty CRM — DOWN (no container) 🔴 502 down
uptime.atlascorporation.nl — Uptime Kuma 🔐 SSO-gated
vault.atlascorporation.nl — Vaultwarden (passwords) 🟢 live

Websites (own + client)

Site Status
atlasworks.nl — WooCommerce store (LIVE revenue) 🟢 live
atlascorporation.nl — Corporate site 🟢 live
atlasagency.nl — Agency site 🟢 live
atlasacademy.nl — Academy 🟢 live
atlaspos.nl — AtlasPOS landing (primary product) 🟢 live
atlashub.nl — Atlas Hub (login) 🟢 live
bicosagency.nl — Client — Bicos 🟢 live
budgetenergiecoach.nl — Client — Budget Energie Coach 🟢 live
hkintercare.nl — Client — HKinterCare 🟢 live
jouwenergieadvies.nl — Client — Jouw Energie Advies 🟢 live
reclamemans.nl — Client — ReclameMans 🟢 live
hkinternationalcare.nl — Client — DOWN/unreachable (DNS?) 🔴 unreachable

Needs attention (found by audit)

  • 🔴 ai.atlascorporation.nl → 404. The LiteLLM gateway container is gone; litellm-db runs orphaned. Either redeploy the gateway or remove the DNS + DB.
  • 🔴 mail.atlascorporation.nl → 502 (webmail bad gateway). Stalwart core is up; the webmail front-end is down.
  • 🔴 twenty.atlascorporation.nl → 502. Twenty CRM has a compose file + saved creds but no running container.
  • 🔴 hkinternationalcare.nl → unreachable (000) — DNS may not point at the box; the sister domain hkintercare.nl is live.
  • 🟠 arena-trevor — idle python:3.11-slim running sleep infinity, no mounts/source. Abandoned sandbox; safe to remove.
  • 🟠 atlas-dms-db — orphaned Postgres with no DMS app container.
  • 🟠 Several mariadb/wordpress images pin old tags (php8.1, :latest) — patch/staleness risk.

AI chat history (consolidation target)

AI conversation history is heavily fragmented across two hosts and at least six stores. The dominant volume is local Claude Code session transcripts: 2,867 *.jsonl files under C:\Users\Gebruiker.claude\projects (28+ distinct project folders). atlas-01 holds a small secondary set of 25 Claude *.jsonl files under /root/.claude/projects. The open-webui chat DB (webui.db, 7.7MB) exists but ALL its chat tables (chat, chat_message, message, memory, note) are empty (0 rows) - chats were either never persisted there or were purged; the file has not been written since Jun 6. The message spine is split

  • Claude Code session transcripts (local PC) — 2867 *.jsonl files - by far the largest AI-chat corpus. No central archive; lives only on this PC. Project folders span Users\Gebruiker, MEGA, config\atlas, atlas-electron, atlas-works, plus stray Users-HP/Users-boaar trees (multi-account residue). Primary consolidation source.
  • Claude Code session transcripts (atlas-01) — 25 *.jsonl files. Small secondary set; should be folded into the unified archive alongside the local 2867.
  • open-webui chat database — 7.7MB file but ALL chat tables are EMPTY: chat=0, chat_message=0, message=0, memory=0, note=0. No conversation content retained. Last modified Jun 6 - effectively stale/unused for chat history. Schema is rich (folders, knowledge, tools) but no chats persisted.
  • Message-spine kernel (live) — decisions=458, events=3415. ~1.99MB, written today (Jun 22 20:20). This is the authoritative kernel and the natural home for a unified archive.
  • Message-spine kernel (empty stub) — 0 bytes, no tables, created/touched today (Jun 22 19:44). Conflicts with /opt/atlas/mind/kernel.sqlite. Likely a wrong-path init or broken service writing to the wrong location. Delete or repoint to eliminate dual-kernel ambiguity.
  • atlas-assistant triage log — 271 lines. Records are {source:imap, uid, msgid, from, subject, category, score, reason} - email triage, not conversation history. Stale: last write Jun 8 (~97KB). Keep OUT of the AI-chat archive; it belongs to the mail pipeline.
  • 'evolution' store (WhatsApp Baileys auth) — Contains creds.json, integration.json ({instanceName:atlas}), ~28 pre-key-.json and ~17 session-.json libsignal files (last write today). This is messaging-channel auth material, not AI conversation history. Misnamed relative to the audit's 'evolution store' expectation. Do NOT archive as chat; treat as sensitive credentials. (No secret values inspected/printed.)

Security posture

Fixed in this pass (read-only audit → applied):

  • PSD2 Enable Banking private key 0644 → 600 (was world-readable — CRITICAL).
  • odoo-selfhost-creds.env 0644 → 600.
  • Enable Banking session/auth/app JSONs 0644 → 600.
  • Forgejo password stripped from the git remote URL; .git/config → 600.

Still requires the operator:

  • 🔴 Authentik admin (akadmin) password is compromised — it was pasted in plaintext into a chat transcript. Rotate it (and ideally enable MFA on the admin account). This is the master key to every SSO service.
  • 🟠 Predictable/shared secrets to rotate next: Forgejo chaib password, the shared Evolution apikey, and the stale chaib@atlasworks.nl IMAP password (email ingestion has been failing).

Generated by the Atlas system-of-record audit. Re-run anytime to refresh.