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

View File

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