Build a School Server for an African School
#+TITLE: KaziLab
#+AUTHOR: Axel Ramge
#+DATE: 2026-05-13
#+OPTIONS: toc:2
#+LANGUAGE: en
*Zero Maintenance. Zero Waste. Zero Downtime.*
/A declarative, cost-effective NixOS computer lab architecture for any school./
#+BEGIN_QUOTE
One configuration file. One rebuild. Twenty students online — on hardware that was
destined for the bin.
#+END_QUOTE
* What is KaziLab?
KaziLab is a complete, reproducible blueprint for turning a room full of aging
business PCs into a modern, fully-managed computer lab — without buying new hardware,
without proprietary licenses, and without a dedicated IT department on-site.
The entire system state is declared in NixOS configuration, tracked in Git, and
reproducible from scratch. When something breaks: roll back. When something needs
updating: update once, all clients follow. One server, one config, zero drift.
Built for the [[
github.com][Ngaruma Vocational Training Centre]] in the Kilimanjaro Region,
Tanzania — and designed to be forked, adapted, and deployed in any school with
similar constraints.
/Kazi = Work (Swahili)/
* Core Principles
| Principle | How |
|------------------+-----------------------------------------------------------------------|
| Zero Maintenance | NixOS declarative config. Rebuild once, all 20 desktops follow. |
| Zero Waste | Refurbished enterprise hardware. 10-year target lifespan. |
| Zero Downtime | ZFS mirror + UPS + WireGuard remote access from anywhere in the world |
| Open Source Only | NixOS + MikroTik RouterOS. No vendor lock-in, ever. |
| Financially Sane | ~3,600 EUR total. 120 students. Works out at ~30 EUR per student. |
* Architecture at a Glance
#+BEGIN_EXAMPLE
[Admin / Germany]
|
WireGuard VPN (punches through CGNAT — no static IP needed)
|
[MikroTik hAP ax3] <-- Airtel LTE/5G
Firewall | DHCP | DNS | NTP | QoS | WireGuard endpoint
|
[MikroTik CRS32 …