Adjust service grid ordering and descriptions

This commit is contained in:
Brad Stein 2026-01-01 13:04:07 -03:00
parent c3912b19b5
commit b980eda249
2 changed files with 39 additions and 23 deletions

View File

@ -45,13 +45,13 @@ export function fallbackServices() {
{ {
name: "Keycloak", name: "Keycloak",
category: "identity", category: "identity",
summary: "Unified accounts for Single Sign-On.", summary: "Unified accounts for Single Sign-On. OIDC & LDAP",
link: "https://sso.bstein.dev", link: "https://sso.bstein.dev",
}, },
{ {
name: "Nextcloud Hub", name: "Nextcloud",
category: "productivity", category: "productivity",
summary: "Core user hub: storage, office, bstein.dev mail, & more apps.", summary: "Storage, office, and mail apps for bstein.dev users.",
link: "https://cloud.bstein.dev", link: "https://cloud.bstein.dev",
}, },
{ {
@ -63,40 +63,40 @@ export function fallbackServices() {
{ {
name: "AI Chat", name: "AI Chat",
category: "ai", category: "ai",
summary: "LLM chat (public beta)", summary: "Customized LLM for the titan home lab.",
link: "/ai/chat", link: "/ai/chat",
host: "chat.ai.bstein.dev", host: "chat.ai.bstein.dev",
status: "live", status: "live",
}, },
{ {
name: "Jellyfin", name: "Jellyfin",
category: "media", category: "streaming",
summary: "Family Movies hosted on titan-22 for GPU acceleration.", summary: "Family movies streaming server with GPU acceleration.",
link: "https://stream.bstein.dev", link: "https://stream.bstein.dev",
}, },
{ {
name: "Pegasus", name: "Pegasus",
category: "media ingest", category: "streaming",
summary: "Uploading service to inject jellyfin media.", summary: "Upload pipeline feeding the Jellyfin library.",
link: "https://pegasus.bstein.dev", link: "https://pegasus.bstein.dev",
}, },
{ {
name: "Monero", name: "Mailu",
category: "crypto", category: "mail",
summary: "Private monero node for monero wallets", summary: "Self-hosted mailserver with accepted outgoing mail.",
link: "/monero", link: "https://mail.bstein.dev",
host: "monerod.crypto.svc.cluster.local:18081", host: "mail.bstein.dev",
}, },
{ {
name: "Grafana", name: "Grafana",
category: "observability", category: "observability",
summary: "Health metrics for atlas and eventually oceanus.", summary: "Atlas metrics and dashboards for the lab.",
link: "https://metrics.bstein.dev", link: "https://metrics.bstein.dev",
}, },
{ {
name: "Element", name: "Element",
category: "comms", category: "comms",
summary: "Matrix client for Titan Live space.", summary: "Discord style communication system for users.",
link: "https://live.bstein.dev", link: "https://live.bstein.dev",
host: "live.bstein.dev", host: "live.bstein.dev",
status: "live", status: "live",
@ -104,7 +104,7 @@ export function fallbackServices() {
{ {
name: "Matrix (Synapse)", name: "Matrix (Synapse)",
category: "comms", category: "comms",
summary: "Homeserver powering Titan Live; AI bot is in the welcome room.", summary: "Encrypted chat backend with bot integrations.",
link: "https://live.bstein.dev", link: "https://live.bstein.dev",
host: "matrix.live.bstein.dev", host: "matrix.live.bstein.dev",
status: "live", status: "live",
@ -112,7 +112,7 @@ export function fallbackServices() {
{ {
name: "LiveKit", name: "LiveKit",
category: "comms", category: "comms",
summary: "Video + voice SFU for calls in Titan Live.", summary: "Video and Voice SFU calls integrated into Element.",
link: "https://live.bstein.dev", link: "https://live.bstein.dev",
host: "kit.live.bstein.dev", host: "kit.live.bstein.dev",
status: "live", status: "live",
@ -120,7 +120,7 @@ export function fallbackServices() {
{ {
name: "Coturn", name: "Coturn",
category: "comms", category: "comms",
summary: "TURN/STUN relay for reliable calling.", summary: "Integrated VoIP server for reliable calls.",
link: "https://live.bstein.dev", link: "https://live.bstein.dev",
host: "turn.live.bstein.dev", host: "turn.live.bstein.dev",
status: "live", status: "live",
@ -155,6 +155,21 @@ export function fallbackServices() {
summary: "Secrets for secure environment injection.", summary: "Secrets for secure environment injection.",
link: "https://secret.bstein.dev", link: "https://secret.bstein.dev",
}, },
{
name: "Monero",
category: "crypto",
summary: "Private monero node for monero wallets.",
link: "/monero",
host: "monerod.crypto.svc.cluster.local:18081",
},
{
name: "Oceanus",
category: "crypto",
summary: "Dedicated SUI Validator - Planned.",
link: "#",
host: "oceanus",
status: "planned",
},
{ {
name: "AI Vision", name: "AI Vision",
category: "ai", category: "ai",
@ -172,11 +187,11 @@ export function fallbackServices() {
status: "planned", status: "planned",
}, },
{ {
name: "SUI Validator", name: "AI Translation",
category: "validator", category: "ai",
summary: "Dedicated SUI validator on Oceanus (rolling out).", summary: "Inline translation (roadmap) for comms.",
link: "#", link: "/ai/roadmap",
host: "oceanus", host: "translate.ai.bstein.dev",
status: "planned", status: "planned",
}, },
], ],

View File

@ -141,6 +141,7 @@ function pickIcon(name) {
if (h.includes("monero")) return "⛏️"; if (h.includes("monero")) return "⛏️";
if (h.includes("sui")) return "💠"; if (h.includes("sui")) return "💠";
if (h.includes("keycloak")) return "🛡️"; if (h.includes("keycloak")) return "🛡️";
if (h.includes("translation")) return "🌐";
if (h.includes("grafana")) return "📈"; if (h.includes("grafana")) return "📈";
if (h.includes("pegasus")) return "🚀"; if (h.includes("pegasus")) return "🚀";
if (h.includes("ai chat")) return "💬"; if (h.includes("ai chat")) return "💬";