Files
ADHDbot/intranet/index.html
2025-11-11 23:11:59 -06:00

193 lines
12 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Service Inventory</title>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap" rel="stylesheet" />
<style>
:root {
color: #0f172a;
font-family: "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
background: #f8fafc;
}
body {
margin: 0;
background: radial-gradient(circle at top left, rgba(56, 189, 248, 0.15), transparent 45%),
radial-gradient(circle at bottom right, rgba(192, 132, 252, 0.2), transparent 40%), #e2e8f0;
min-height: 100vh;
padding: clamp(1.5rem, 3vw, 3rem);
}
.shell {
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 1.5rem;
}
header {
background: rgba(255, 255, 255, 0.9);
border-radius: 1.5rem;
padding: clamp(1.5rem, 3vw, 2.25rem);
box-shadow: 0 30px 80px rgba(15, 23, 42, 0.15);
border: 1px solid rgba(15, 23, 42, 0.05);
}
header h1 {
margin: 0 0 0.25rem;
font-size: clamp(2rem, 4vw, 2.75rem);
color: #0f172a;
}
header p {
margin: 0;
color: #475569;
}
.grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
gap: 1.5rem;
}
.card {
background: rgba(255, 255, 255, 0.92);
border-radius: 1.25rem;
padding: 1.5rem;
box-shadow: 0 20px 50px rgba(15, 23, 42, 0.1);
border: 1px solid rgba(15, 23, 42, 0.05);
display: flex;
flex-direction: column;
gap: 1rem;
}
.card h2 {
margin: 0;
font-size: 1.25rem;
color: #0f172a;
}
.eyebrow {
text-transform: uppercase;
letter-spacing: 0.2em;
font-size: 0.72rem;
color: #64748b;
margin-bottom: 0.35rem;
}
.section-title {
font-weight: 600;
color: #475569;
margin-bottom: 0.35rem;
text-transform: uppercase;
letter-spacing: 0.08em;
font-size: 0.78rem;
}
ul {
margin: 0;
padding-left: 1.25rem;
color: #0f172a;
line-height: 1.45;
}
ul li + li {
margin-top: 0.35rem;
}
.tag-list {
display: flex;
flex-wrap: wrap;
gap: 0.45rem;
}
.tag {
border-radius: 999px;
padding: 0.25rem 0.85rem;
font-size: 0.82rem;
background: rgba(59, 130, 246, 0.12);
border: 1px solid rgba(59, 130, 246, 0.25);
color: #1d4ed8;
}
.docker-table {
width: 100%;
border-collapse: collapse;
font-size: 0.92rem;
}
.docker-table th {
text-align: left;
padding: 0.4rem 0;
color: #64748b;
font-weight: 600;
border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}
.docker-table td {
padding: 0.35rem 0;
border-bottom: 1px solid rgba(15, 23, 42, 0.03);
}
.muted {
color: #94a3b8;
}
.muted.tiny {
font-size: 0.8rem;
}
.error {
color: #b91c1c;
background: rgba(248, 113, 113, 0.15);
padding: 0.75rem;
border-radius: 0.75rem;
border: 1px solid rgba(248, 113, 113, 0.25);
}
@media (max-width: 640px) {
body {
padding: 1rem;
}
.card {
padding: 1.1rem;
}
}
</style>
</head>
<body>
<div class="shell">
<header>
<p class="eyebrow">Internal inventory</p>
<h1>Intranet Services</h1>
<p>Live snapshot of nginx vhosts and Docker workloads across Chelsea's network.</p>
</header>
<section class="grid">
<article class="card" id="la">
<div>
<p class="eyebrow">Los Angeles</p>
<h2>la.chelseawoodruff.net</h2>
<div class="tag-list"><span class="tag">nginx</span><span class="tag">FRP relay</span></div>
</div>
<div><p class="section-title">nginx sites</p><ul><li><strong>chat.scorpi.us, chat.scorpi.us</strong> Public chat frontend with HTTPS redirect</li><li>_</li></ul></div><div><p class="section-title">Docker</p><table class="docker-table"><thead><tr><th>Name</th><th>Image</th><th>Ports</th></tr></thead><tbody><tr><td>frps<br /><span class="muted tiny">Snowdreamtech FRP reverse proxy</span></td><td>snowdreamtech/frps:latest</td><td></td></tr></tbody></table></div>
</article>
<article class="card" id="virginia">
<div>
<p class="eyebrow">Virginia</p>
<h2>virginia.chelseawoodruff.net</h2>
<div class="tag-list"><span class="tag">nginx</span><span class="tag">Git</span><span class="tag">Vikunja</span><span class="tag">Dokuwiki</span><span class="tag">Custom apps</span></div>
</div>
<div><p class="section-title">nginx sites</p><ul><li><strong>blocked.scorpi.us, blocked.scorpi.us</strong> Block page mirror</li><li><strong>wiki.scorpi.us</strong> Dokuwiki knowledge base</li><li><strong>git.scorpi.us, git.scorpi.us</strong> Gitea instance</li><li><strong>hightimesfrom.space, hightimesfrom.space</strong> Personal landing page</li><li><strong>pm.scorpi.us, leantime.scorpi.us, pm.scorpi.us, leantime.scorpi.us</strong> Leantime / PM suite</li><li><strong>news.scorpi.us, news.scorpi.us</strong> Pseudo news clone</li><li><strong>youtube.scorpi.us, youtube.scorpi.us</strong> PseudoTube experiment</li><li><strong>reddit.scorpi.us, reddit.scorpi.us</strong> Reddit proxy (forced HTTPS)</li><li><strong>requests.scorpi.us, requests.scorpi.us</strong> Requesty helper</li></ul></div><div><p class="section-title">Docker</p><table class="docker-table"><thead><tr><th>Name</th><th>Image</th><th>Ports</th></tr></thead><tbody><tr><td>claude-proxy<br /><span class="muted tiny">Claude proxy forwarder</span></td><td>claude-proxy:latest</td><td>0.0.0.0:45000->45000/tcp, :::45000->45000/tcp</td></tr><tr><td>solar_420<br /><span class="muted tiny">Solartime demo app</span></td><td>solartime420-solar420</td><td>0.0.0.0:5150->5000/tcp, [::]:5150->5000/tcp</td></tr><tr><td>frps<br /><span class="muted tiny">Snowdreamtech FRP relay</span></td><td>snowdreamtech/frps:latest</td><td></td></tr><tr><td>balanceboard_app<br /><span class="muted tiny">Balanceboard UI</span></td><td>balanceboard-app</td><td>0.0.0.0:5021->5021/tcp, :::5021->5021/tcp</td></tr><tr><td>balanceboard_postgres<br /><span class="muted tiny">Balanceboard DB</span></td><td>postgres:15</td><td>0.0.0.0:5433->5432/tcp, [::]:5433->5432/tcp</td></tr><tr><td>vikunja_vikunja_1<br /><span class="muted tiny">Vikunja task manager</span></td><td>vikunja/vikunja</td><td>0.0.0.0:3456->3456/tcp, :::3456->3456/tcp</td></tr><tr><td>vikunja_db_1<br /><span class="muted tiny">Vikunja Postgres</span></td><td>postgres:13-alpine</td><td>5432/tcp</td></tr><tr><td>gitea<br /><span class="muted tiny">Gitea service</span></td><td>gitea/gitea:latest</td><td>0.0.0.0:3000->3000/tcp, :::3000->3000/tcp, 0.0.0.0:222->22/tcp, [::]:222->22/tcp</td></tr><tr><td>gitea_db_1<br /><span class="muted tiny">Gitea Postgres</span></td><td>postgres:14</td><td>5432/tcp</td></tr><tr><td>dokuwiki<br /><span class="muted tiny">Dokuwiki container</span></td><td>lscr.io/linuxserver/dokuwiki:latest</td><td>443/tcp, 0.0.0.0:8081->80/tcp, [::]:8081->80/tcp</td></tr><tr><td>requesty<br /><span class="muted tiny">Requesty API</span></td><td>docker_requesty</td><td>0.0.0.0:5000->5000/tcp, :::5000->5000/tcp</td></tr><tr><td>psuedo-tube<br /><span class="muted tiny">PseudoTube UI</span></td><td>docker_psuedo-tube</td><td>0.0.0.0:8082->80/tcp, [::]:8082->80/tcp</td></tr><tr><td>block-page<br /><span class="muted tiny">Block-page helper</span></td><td>docker_block-page</td><td>0.0.0.0:8083->80/tcp, [::]:8083->80/tcp</td></tr></tbody></table></div>
</article>
<article class="card" id="chicago">
<div>
<p class="eyebrow">Chicago</p>
<h2>chicago.scorpi.us</h2>
<div class="tag-list"><span class="tag">nginx</span><span class="tag">ADHDbot</span><span class="tag">ntfy</span><span class="tag">IRC</span></div>
</div>
<div><p class="section-title">nginx sites</p><ul><li><strong>adhd.scorpi.us, adhd.scorpi.us</strong> ADHDbot UI/API</li><li><strong>matrix.scorpi.us, matrix.scorpi.us, matrix.scorpi.us</strong> Matrix homeserver proxy</li><li><strong>ntfy.scorpi.us, ntfy.scorpi.us</strong> ntfy notification hub</li></ul></div><div><p class="section-title">Docker</p><table class="docker-table"><thead><tr><th>Name</th><th>Image</th><th>Ports</th></tr></thead><tbody><tr><td>adhdbot-app_adhdbot_1<br /><span class="muted tiny">ADHDbot FastAPI stack</span></td><td>adhdbot-app_adhdbot</td><td>0.0.0.0:8000->8000/tcp</td></tr><tr><td>ntfy<br /><span class="muted tiny">ntfy topic server</span></td><td>binwiederhier/ntfy</td><td>0.0.0.0:8081->80/tcp</td></tr><tr><td>inspircd<br /><span class="muted tiny">InspIRCd daemon</span></td><td>inspircd/inspircd-docker:latest</td><td>0.0.0.0:6667->6667/tcp, 0.0.0.0:6697->6697/tcp, 7000-7001/tcp</td></tr></tbody></table></div>
</article>
<article class="card" id="dallas">
<div>
<p class="eyebrow">Dallas</p>
<h2>dallas.scorpi.us</h2>
<div class="tag-list"><span class="tag">nginx</span><span class="tag">Automation</span></div>
</div>
<div><p class="section-title">nginx sites</p><ul><li><strong>n8n.dallas.scorpi.us, n8n.dallas.scorpi.us</strong> n8n low-code automation suite</li></ul></div><div><p class="section-title">Docker</p><table class="docker-table"><thead><tr><th>Name</th><th>Image</th><th>Ports</th></tr></thead><tbody><tr><td>n8n_n8n_1<br /><span class="muted tiny">n8n worker (localhost only)</span></td><td>docker.n8n.io/n8nio/n8n</td><td>127.0.0.1:5678->5678/tcp</td></tr></tbody></table></div>
</article>
<article class="card" id="phoenix">
<div>
<p class="eyebrow">Phoenix</p>
<h2>phoenix.scorpi.us</h2>
<div class="tag-list"><span class="tag">Discourse</span><span class="tag">Discord bridge</span></div>
</div>
<div><p class="section-title">nginx sites</p><p class="muted">No vhosts detected.</p></div><div><p class="section-title">Docker</p><table class="docker-table"><thead><tr><th>Name</th><th>Image</th><th>Ports</th></tr></thead><tbody><tr><td>discord-discourse-bridge<br /><span class="muted tiny">Discord ↔ Discourse bridge</span></td><td>syncbot_discord-discourse-bridge</td><td></td></tr><tr><td>app<br /><span class="muted tiny">Discourse stack</span></td><td>local_discourse/app</td><td>0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp</td></tr></tbody></table></div>
</article>
</section>
</div>
</body>
</html>