atlas-os/web/sitemap.html
Chaib Aarab bd1d3af713 feat: add Atlas OS desktop PWA and service sitemap
- web/os.html: 6-screen browser-native desktop (Today/Money/Inbox/Pipeline/Fleet/Control)
- web/sitemap.html: live architecture map of all 24 Atlas services
- .gitignore: block secrets, env files, credentials from git
- README: updated with screen list, deployment notes, tech stack

Built with 12-round senior review (architect/frontend/UX/logic/security).
Served at command.atlascorporation.nl/os/ behind Authentik SSO.
2026-06-22 20:03:56 +02:00

49 lines
4.5 KiB
HTML

<!DOCTYPE html>
<html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
<title>Atlas — Architecture Map</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tabler-icons/2.47.0/iconfont/tabler-icons.min.css">
<style>
*{box-sizing:border-box;margin:0;padding:0}
body{background:#0b1020;color:#e8edf7;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;padding:24px;line-height:1.5}
h1{font-size:22px;font-weight:500;margin-bottom:4px}
.sub{font-size:13px;color:#7e8db0;margin-bottom:20px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;max-width:1100px}
.card{background:#141d33;border:.5px solid #2a3a5e;border-radius:12px;padding:14px 16px}
.card h2{font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px;margin-bottom:8px}
.card h2 i{font-size:18px;color:#9fb0cc}
.row{display:flex;gap:8px;padding:6px 0;border-top:.5px solid #1b2742}
.dot{width:8px;height:8px;border-radius:50%;margin-top:6px;flex:none}
.nm{font-size:13px}.url{font-size:11px;color:#5e6e92;font-family:ui-monospace,Menlo,monospace;word-break:break-all}
.note{max-width:1100px;margin-top:18px;background:#141d33;border:.5px solid #2a3a5e;border-radius:12px;padding:14px 16px;font-size:13px;color:#cfd9ee}
.note b{color:#e0a234}
a{color:#4a9fe2}
</style></head>
<body>
<h1>Atlas — Architecture Map</h1>
<div class="sub">One server (atlas-01, Hetzner) · 24 public services · generated 2026-06-22 · green = verified up, amber = needs attention</div>
<div class="grid" id="g"></div>
<div class="note">
<b>Where your logins live:</b> all credentials belong in your vault — <a href="https://vault.atlascorporation.nl">vault.atlascorporation.nl</a> (Vaultwarden). On iOS: install the Bitwarden app, set the server URL to vault.atlascorporation.nl, sign in. Identity for the OS and services = <a href="https://auth.atlascorporation.nl">Authentik SSO</a>.<br><br>
<b>Known issue:</b> email ingestion (IMAP credentials need refreshing — update /etc/atlas/assistant.env to restore inbox + calendar auto-detect.
</div>
<script>
var UP="#4ec98a",WARN="#e0a234";
var groups=[
["Identity & access","ti-key",[["Authentik — single sign-on","auth.atlascorporation.nl",UP],["Vaultwarden — password vault (iOS)","vault.atlascorporation.nl",WARN]]],
["Atlas OS & command","ti-layout-dashboard",[["Atlas OS — your desktop","command.atlascorporation.nl/os/",UP],["Command UI — control room","command.atlascorporation.nl",UP],["The Mind — cockpit + event spine","The Mind cockpit (internal)",UP],["STEEPLE mindmap","mindmap.atlascorporation.nl",UP]]],
["Comms & mail","ti-mail",[["Webmail","mail.atlascorporation.nl",UP],["Stalwart — mail server","stalwart.atlascorporation.nl",WARN],["WhatsApp engine (Evolution)","evolution :8120",UP],["Chat","chat.atlascorporation.nl",UP]]],
["Money & books","ti-coin",[["Odoo 19 — invoicing / ERP","odoo.atlascorporation.nl",UP],["Firefly III — bank (266 tx)","fidi.atlascorporation.nl",UP],["CFO dashboard","cfo.atlascorporation.nl",UP]]],
["Files & documents","ti-folder",[["Nextcloud — files / cal / contacts","cloud.atlascorporation.nl",UP],["Office docs editor","office.atlascorporation.nl",UP],["Paperless — document archive","paperless.atlascorporation.nl",UP]]],
["Websites (WordPress)","ti-world",[["atlascorporation.nl","corp-wordpress",UP],["atlasworks.nl (shop)","works-wordpress",UP],["atlasagency.nl","agency-wordpress",UP],["+ bicos, hki, academy, hub, sabiqoun, pos, euroffice","9 more WP sites",UP]]],
["Dev & automation","ti-code",[["Forgejo — code / git","git.atlascorporation.nl",UP],["n8n — workflow automation","n8n.atlascorporation.nl",UP],["Twenty — CRM","twenty.atlascorporation.nl",UP]]],
["AI","ti-cpu",[["LiteLLM + Ollama (local models)","llm/ai/proxy.atlascorporation.nl",UP],["Learning agent","leeragent.atlascorporation.nl",UP]]],
["Ops & monitoring","ti-activity",[["Uptime Kuma — status","uptime.atlascorporation.nl",UP],["MeshCentral — remote devices","mesh.atlascorporation.nl",UP],["DMARC report viewer","dmarc (internal)",UP]]]
];
var g=document.getElementById("g");
groups.forEach(function(grp){
var rows=grp[2].map(function(it){return '<div class="row"><span class="dot" style="background:'+it[2]+'"></span><div><div class="nm">'+it[0]+'</div><div class="url">'+it[1]+'</div></div></div>';}).join("");
var d=document.createElement("div");d.className="card";
d.innerHTML='<h2><i class="ti '+grp[1]+'"></i>'+grp[0]+'</h2>'+rows;
g.appendChild(d);
});
</script></body></html>