Skip to content
Table of contents

architecture: Architecture as editable documentation

This archived repository stores a home-infrastructure diagram in several formats. Its architecture is a documentation workflow: editable sources produce diagrams that can be opened or viewed without a running application.

Configuration and automation Archived
  • Updated
  • 1
  • HTML · 100%
  • MIT
Documented components
2Explore modules
Source documents
1Read the instructions
Repository languagesHTML 100%1

Shares calculated from GitHub Linguist bytes.

HTML100%
100%704,499 bytes
Language%Bytes
HTML100%704,499

1. Overview

1.1. Why it exists

Editable home-infrastructure diagrams preserved as PlantUML and draw.io sources, with HTML and image exports.

1.2. Best fit

Reading an archived infrastructure snapshot or editing its diagram sources to document a homelab.

2. Use cases

C4 PlantUML and draw.io diagrams of a home lab: Cloudflare, an OVH VPS, hypervisors, a NAS and services.

Use-case diagram for architecture: View the v1 draw.io diagram; Render the v2 C4 diagram; Trace external access paths; Inventory VMs and containers; Edit and re-export the diagramarchitectureView the v1 draw.io diagramRender the v2 C4 diagramTrace external access pathsInventory VMs and containersEdit and re-export the diagramReaderDiagram maintainer«system»Diagram renderers
People on the left, external systems on the right; each oval is a use case backed by the files cited below.
View the v1 draw.io diagram
ReaderDiagram renderers

architecture.drawio.html embeds the draw.io XML in the diagrams.net viewer script, with zoom, layers and lightbox; the README links it as v1.

Render the v2 C4 diagram
ReaderDiagram renderers

architecture.plantuml includes C4_Deployment, Font Awesome, OSA and Office icon sets; the README v2 link is an encoded render on the PlantUML server.

Trace external access paths
Reader

The Rel lines show users reaching Cloudflare over HTTPS, Cloudflare forwarding to the OVH VPS, the VPS reaching the home and personal networks over WireGuard, and the admin using Teleport over SSH.

Inventory VMs and containers
Reader

Deployment nodes list XCP-ng, Proxmox and Windows hosts, a QNAP NAS with a media stack, and VMs such as Talos (Portainer, AI News Tracker, Freqtrade), Home Assistant and Caddy with Prometheus and Grafana, each with CPU, RAM and disk properties.

Edit and re-export the diagram
Diagram maintainerDiagram renderers

The maintainer edits architecture.plantuml or architecture.drawio and exports a picture such as home architecture.png.

2.1. Scenario: Follow a web request into the home lab

  1. Open architecture.plantuml, or the v2 link in README.md rendered by the PlantUML server.
  2. Start at the User person, who reaches Cloudflare (CDN and reverse proxy) over HTTPS.
  3. Follow Cloudflare to the OVH VPS, which runs Caddy, Teleport and Uptime Kuma.
  4. Follow the WireGuard link from the VPS to the Personal Network and its Proxmox host.
  5. See the Caddy VM route traffic to AI News Tracker, Marketwatch, Portainer, Plex and Jellyfin.

Files readREADME.mdarchitecture.plantumlarchitecture.drawio.htmlarchitecture.drawio

3. Getting started

These commands come from the repository documentation. They were not run during this review.

4. Repository references

The repository does not provide a detailed guide for these steps. Start with its README and the source walkthrough above.

Source documentation

1 documents read from 1 candidates.

5. Features and components 2

Editable sources
The root includes both a PlantUML source and a draw.io document. These are separate diagram representations. Their presence does not mean that one is automatically generated from the other.
Published views
PNG and HTML files provide convenient viewing formats. The README links readers to those representations. The repository describes infrastructure; it does not deploy or monitor the services shown.

6. Architecture

Expand a component to follow its connections, or explore the full diagram.

System components Context
Mermaid Interactive diagram

System overview of the components and connections verified in the repository.

Static architecture view for architecture
Static preview. The interactive diagram replaces it after Mermaid loads.
flowchart LR
  n0["PlantUML source"]
  n1["PlantUML rendering"]
  n2["Diagram image"]
  n3["draw.io source"]
  n4["HTML and PNG export"]
  n0 --> n1
  n1 --> n2
  n3 --> n4
Text version of the diagram
  • PlantUML source → PlantUML rendering
  • PlantUML rendering → Diagram image
  • draw.io source → HTML and PNG export
Follow one path through the code

Choose the editable format first, then compare its rendered view with the exported image. Keeping both paths visible helps prevent a screenshot from becoming the only surviving description of the system.

7. Technical dossier

Built from the source at commit a511b1a (1 files). Each item comes from a pattern match in the code, so open the linked file before relying on it.

7.1. Layers and modules

Folders are sorted into layers by name, from the user interface down to data access. Because the sorting uses names only, the diagram says nothing about calls between layers.

Mermaid Layered view
flowchart TB
  subgraph L_presentation["Presentation"]
    direction TB
    presentation_0["(root)<br/>1 file"]
  end
Modules and their main layer
ModuleLayerFilesTypesExtensions
(root)Presentation10.html

7.2. C4 model

From system context to code declarations. Each level reflects the available source evidence.

UML 1 · System context
1 · System context

The widest C4 view: who uses the project and which outside systems and data stores it relies on. Rendered with uml-mcp.

PlantUML source
@startuml
!include <C4/C4_Context>
LAYOUT_LEFT_RIGHT()
System(SYS, "architecture", "This archived repository stores a home-infrastructure diagram in seve…")
@enduml

Level 2: the available sources do not support this view.

UML 3 · Components and layers
3 · Components and layers

Modules grouped by source-layer classification. Boundaries show organization, not runtime isolation or call relationships. Rendered with uml-mcp.

PlantUML source
@startuml
!include <C4/C4_Component>
LAYOUT_TOP_DOWN()
System_Boundary(SYS, "architecture") {
Boundary(L0, "Presentation", "layer") {
Component(M0_0, "(root)", "HTML", "1 files")
}
}
@enduml

Level 4: the available sources do not support this view.

7.3. CI/CD pipeline

No CI/CD pipeline in the repository. The code is built and run by hand, as described above.

7.4. Deployment

Mermaid Deployment diagram
flowchart LR
  repo[("GitHub repository")]
  local["Local machine"]
  repo -->|"clone and run"| local

The repository has no Dockerfile, Compose file or hosting configuration, so the code runs on the machine that clones it.

The available sources do not document the remaining sections.

8. Reference

1 / 1 eligible files read (7 in the tree); 0 oversized, 0 failed reads and 0 syntax diagnostics.

What the scan covers

Known dependency/build folders, credential files and binaries are excluded. The scan covers READMEs, recognized manifests and parser-supported source files.

Linguist statistics cover the whole repository and may include other languages.

10. Files to read 3

11. Glossary

Repository

The versioned source files, configuration, and history of a project.

README

The repository’s entry document, usually covering its purpose and initial setup.

Dependency

A library, tool, or service that another component needs to build or run.

CLI

A text interface in which commands and arguments select operations. Exit codes let scripts detect success or failure.

Continuous integration

Automated checks that run when source changes, such as building, testing, and linting. Passing checks cover only what those checks exercise.

Mermaid

A text-based diagram language. Nodes and connections describe a model; the diagram itself does not execute the project.

GPU

A processor designed for parallel workloads, including graphics rendering and many numerical operations.

12. References

  1. antoinebou12. (2026, November 5). architecture. [Software repository] github.com.
  2. antoinebou12. (2026, November 5). architecture: README. [Repository documentation] github.com.
  3. antoinebou12. (2026, November 5). README.md. [Source file] github.com.
  4. antoinebou12. (2026, November 5). architecture.plantuml. [Source file] github.com.
  5. antoinebou12. (2026, November 5). architecture.drawio. [Source file] github.com.
  6. Boucher, A. (2026, October 23). architecture: Architecture as editable documentation. [Project article] antoineboucher.info.

Sources without a publication date show the date they were last checked, November 5, 2026. File links retain the inspected revision where available.