feat(docs): MkDocs Material site + auto-generated hardware overview
Bootstraps an MkDocs Material documentation site (rendered to
docs.makerfloss.eu by the Forgejo Actions runner). The first feature
is an auto-generated hardware overview built from per-host YAML
frontmatter blocks under docs/hardware/.
- mkdocs.yml, requirements.txt: MkDocs Material 9.5 + pyyaml
- Makefile: docs-index | docs-build | docs-serve | docs-check
- scripts/gen_overview.py: stdlib + pyyaml generator, deterministic and
offline. Reads scripts/overview_config.yml — category-driven so
services/vms can plug in later without touching the script.
- scripts/overview_config.yml: hardware schema and index layout
- docs/hardware/{makerfloss,fisi,tembo}.md: 3 sample entries
- docs/hardware/index.md: GENERATED, committed (CI fails on drift)
- docs/index.md: site landing page
- .forgejo/workflows/docs.yml: drift-check + mkdocs build --strict +
rsync site/ to /srv/docs-makerfloss/html on push to main
- .gitignore: site/, .venv, __pycache__
Schema:
- hostname, kind, status (required; kind/status are enums)
- model, location, cpu, cpu_cores, cpu_threads, ram_gb, storage_gb,
storage_type (enum), storage_notes, nic_gbps (all optional)
- Filename stem MUST equal hostname (enforced by generator)
- Extra optional fields are accepted silently and live on the per-page
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 21:10:58 +02:00
|
|
|
# Hardware Overview
|
|
|
|
|
|
|
|
|
|
_Auto-generated from `docs/hardware/*.md` — do not edit by hand. Run `make docs-index` after changing a file._
|
|
|
|
|
|
2026-06-24 15:09:02 +02:00
|
|
|
## Patch panels
|
|
|
|
|
|
|
|
|
|
| Hostname | Location | CPU | RAM | Storage | NIC | Status |
|
|
|
|
|
|---|---|---|---|---|---|---|
|
|
|
|
|
| [pp01](pp01.md) | | | | | | in-use |
|
2026-06-29 22:27:52 +02:00
|
|
|
| [pp02](pp02.md) | | | | | | in-use |
|
2026-06-24 15:09:02 +02:00
|
|
|
|
2026-06-24 14:41:46 +02:00
|
|
|
## PDUs
|
|
|
|
|
|
|
|
|
|
| Hostname | Location | CPU | RAM | Storage | NIC | Status |
|
|
|
|
|
|---|---|---|---|---|---|---|
|
|
|
|
|
| [pdu01](pdu01.md) | | | | | | in-use |
|
|
|
|
|
| [pdu02](pdu02.md) | | | | | | in-use |
|
2026-06-29 21:19:20 +02:00
|
|
|
| [pdu03](pdu03.md) | | | | | | in-use |
|
|
|
|
|
| [pdu04](pdu04.md) | | | | | | in-use |
|
2026-06-24 14:41:46 +02:00
|
|
|
|
feat(docs): MkDocs Material site + auto-generated hardware overview
Bootstraps an MkDocs Material documentation site (rendered to
docs.makerfloss.eu by the Forgejo Actions runner). The first feature
is an auto-generated hardware overview built from per-host YAML
frontmatter blocks under docs/hardware/.
- mkdocs.yml, requirements.txt: MkDocs Material 9.5 + pyyaml
- Makefile: docs-index | docs-build | docs-serve | docs-check
- scripts/gen_overview.py: stdlib + pyyaml generator, deterministic and
offline. Reads scripts/overview_config.yml — category-driven so
services/vms can plug in later without touching the script.
- scripts/overview_config.yml: hardware schema and index layout
- docs/hardware/{makerfloss,fisi,tembo}.md: 3 sample entries
- docs/hardware/index.md: GENERATED, committed (CI fails on drift)
- docs/index.md: site landing page
- .forgejo/workflows/docs.yml: drift-check + mkdocs build --strict +
rsync site/ to /srv/docs-makerfloss/html on push to main
- .gitignore: site/, .venv, __pycache__
Schema:
- hostname, kind, status (required; kind/status are enums)
- model, location, cpu, cpu_cores, cpu_threads, ram_gb, storage_gb,
storage_type (enum), storage_notes, nic_gbps (all optional)
- Filename stem MUST equal hostname (enforced by generator)
- Extra optional fields are accepted silently and live on the per-page
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-17 21:10:58 +02:00
|
|
|
## Servers
|
|
|
|
|
|
2026-05-27 10:37:04 +02:00
|
|
|
| Hostname | Location | CPU | RAM | Storage | NIC | Status |
|
|
|
|
|
|---|---|---|---|---|---|---|
|
|
|
|
|
| [makerfloss.eu](makerfloss.eu.md) | Hetzner HEL1 (cloud) | AMD EPYC (shared vCPU) · 2c | 4 GB | 40 GB NVME | 1 GbE | in-use |
|
2026-06-29 22:27:52 +02:00
|
|
|
| [nas01](nas01.md) | The pile | ? | ? | ? | ? | staging |
|
|
|
|
|
| [nas02](nas02.md) | The pile | ? | ? | ? | ? | staging |
|
2026-06-24 16:23:23 +02:00
|
|
|
| [srv01](srv01.md) | The pile | ? | ? | ? | ? | staging |
|
|
|
|
|
| [srv02](srv02.md) | The pile | Intel Core i5-8500 @ 3.00GHz · 6c | 8 GB | 40 GB NVME | 1 GbE | staging |
|
|
|
|
|
| [srv03](srv03.md) | The pile | Intel Core i5-8500 @ 3.00GHz · 6c | 16 GB | 40 GB NVME | 1 GbE | staging |
|
|
|
|
|
| [srv04](srv04.md) | The pile | Intel Core i5-3570K @ 3.40GHz · 4c | 8 GB | 500 GB HDD | 1 GbE | staging |
|
|
|
|
|
| [srv05](srv05.md) | The pile | Intel Core i5-3570K @ 3.40GHz · 4c | 8 GB | 500 GB HDD | 1 GbE | staging |
|
2026-06-29 22:27:52 +02:00
|
|
|
| [srv06](srv06.md) | The pile | ? | ? | ? | ? | staging |
|
|
|
|
|
| [srv07](srv07.md) | The pile | ? | ? | ? | ? | staging |
|
2026-06-24 15:09:02 +02:00
|
|
|
|
2026-06-24 17:51:52 +02:00
|
|
|
## Shelves
|
|
|
|
|
|
|
|
|
|
| Hostname | Location | CPU | RAM | Storage | NIC | Status |
|
|
|
|
|
|---|---|---|---|---|---|---|
|
|
|
|
|
| [shf01](shf01.md) | | | | | | in-use |
|
|
|
|
|
|
2026-06-24 15:09:02 +02:00
|
|
|
## Switches
|
|
|
|
|
|
|
|
|
|
| Hostname | Location | CPU | RAM | Storage | NIC | Status |
|
|
|
|
|
|---|---|---|---|---|---|---|
|
|
|
|
|
| [sw01](sw01.md) | | | | | | in-use |
|
2026-06-29 22:27:52 +02:00
|
|
|
| [sw02](sw02.md) | | | | | | in-use |
|
|
|
|
|
| [sw03](sw03.md) | | | | | | in-use |
|
|
|
|
|
| [sw04](sw04.md) | | | | | | in-use |
|
|
|
|
|
| [sw05](sw05.md) | | | | | | in-use |
|