MakerFLOSS/docs/hardware/makerfloss.md
sjat 6b1a61461b 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

620 B

hostname kind status model location cpu cpu_cores cpu_threads ram_gb storage_gb storage_type nic_gbps
makerfloss server in-use Hetzner CX22 Hetzner HEL1 (cloud) AMD EPYC (shared vCPU) 2 2 4 40 nvme 1

makerfloss

Hetzner Cloud VPS running the public-facing MakerFLOSS stack: Forgejo (self-hosted git forge), Traefik with Let's Encrypt, poste.io mail server, a Forgejo Actions runner, and the nginx services that serve slides.makerfloss.eu and docs.makerfloss.eu.

Managed via the AnsibleBaobabV4 Ansible project. SSH on port 7576.