%% C4 Context Diagram - Level 1
%% DaviesTechLabs Homelab System Context
%%
%% To render: Use Mermaid Live Editor or VS Code Mermaid extension
graph TB
subgraph users["External Users"]
dev["π€ Developer
(Billy)"]
family["π₯ Family Members"]
agents["π€ AI Agents"]
end
subgraph external["External Systems"]
cf["βοΈ Cloudflare
DNS + Tunnel"]
gh["π GitHub
Source Code"]
ghcr["π¦ GHCR
Container Registry"]
hf["π€ Hugging Face
Model Registry"]
end
subgraph homelab["π DaviesTechLabs Homelab"]
direction TB
subgraph apps["Application Layer"]
companions["π¬ Companions
AI Chat"]
voice["π€ Voice Assistant"]
media["π¬ Media Services
(Jellyfin, *arr)"]
productivity["π Productivity
(Nextcloud, Gitea)"]
end
subgraph platform["Platform Layer"]
k8s["βΈοΈ Kubernetes Cluster
Talos Linux"]
end
subgraph ai["AI/ML Layer"]
inference["π§ Inference Services
(vLLM, Whisper, XTTS)"]
workflows["βοΈ Workflow Engines
(Kubeflow, Argo)"]
vectordb["π Vector Store
(Milvus)"]
end
end
%% User interactions
dev --> |manages| productivity
dev --> |develops| k8s
family --> |uses| media
family --> |chats| companions
agents --> |queries| inference
%% External integrations
cf --> |routes traffic| apps
gh --> |GitOps sync| k8s
ghcr --> |pulls images| k8s
hf --> |downloads models| inference
%% Internal relationships
apps --> platform
ai --> platform
companions --> inference
voice --> inference
workflows --> inference
inference --> vectordb
%% Styling
classDef external fill:#f9f,stroke:#333,stroke-width:2px
classDef homelab fill:#bbf,stroke:#333,stroke-width:2px
classDef user fill:#bfb,stroke:#333,stroke-width:2px
class cf,gh,ghcr,hf external
class companions,voice,media,productivity,k8s,inference,workflows,vectordb homelab
class dev,family,agents user