Skip to content

Homer Dashboard

This cluster runs Homer, a lightweight dashboard that serves as a central hub for all services.

https://hub.sudhanva.me
FeatureDescription
Service DirectoryQuick links to all services
Categorized LayoutServices organized by type
Cluster BadgesVisual indicators for OKE vs K3s services
Minimal ResourcesOnly 32MB memory, 10m CPU

Homer is a simple static web application:

flowchart LR
    subgraph Internet
        User((User))
    end

    subgraph OKE["OKE Cluster"]
        Gateway[Envoy Gateway]
        Homer[Homer Pod<br/>nginx:8080]
        ConfigMap[ConfigMap<br/>config.yml]
    end

    User -->|HTTPS| Gateway
    Gateway --> Homer
    ConfigMap --> Homer

Homer is extremely lightweight:

ResourceRequestLimit
Memory32 MB64 MB
CPU10m100m

The dashboard is configured via a ConfigMap containing config.yml:

title: "Homelab"
subtitle: "Sudhanva's Self Hosted Stuff!"
services:
- name: "AI & Chat"
icon: "fas fa-brain"
items:
- name: "Chat"
url: "https://chat.k8s.sudhanva.me"
tag: "OKE"
tagstyle: "is-success"
TagStyleColorUsage
OKEis-successGreenOracle Cloud services
K3sis-infoBlueRaspberry Pi services

To add a new service to the dashboard:

  1. Edit argocd/apps/homer/deployment.yaml
  2. Add entry under the appropriate category in config.yml
  3. Commit and push - ArgoCD will sync automatically

Example entry:

- name: "My Service"
subtitle: "Description"
tag: "OKE"
tagstyle: "is-success"
url: "https://myservice.k8s.sudhanva.me"
target: "_blank"
FilePurpose
argocd/apps/homer/deployment.yamlDeployment + ConfigMap
argocd/apps/homer/service.yamlClusterIP service
argocd/apps/homer/httproute.yamlGateway routing + TLS certificate