Skip to workshop
← PerfectWorld Civic Server Workshop v1.0.0 · 2026-08-08
WORKSHOP ISSUE No. 01 · BUILD IT LOCALLY

A PRACTICAL CIVIC COMPUTING PROJECT

Build a Local Internet in a Box

Two honest server plans—one compact and printable, one rack-mounted and expandable—show how a public website, local AI, searchable records and video processing can operate outside a hyperscale server farm.

Compare the builds Get the STL files
LOCAL COMPUTE • LOCAL CONTROL
NO CLOUD REQUIRED FOR THE CORE WORK
01

THE BIG IDEA

What “AI without a data center” actually means

Not true

Computing happens with no server at all, or a tiny microcontroller can replace a production web and AI server.

True

A server is simply a computer that provides services. Websites, databases, search, video routing and inference on already-trained models can run on hardware in a library, newsroom, office or municipal building.

Where data centers still matter

Training frontier-scale models, serving millions of simultaneous users, global redundancy and enormous storage pools. Those needs are real—but they are different from running a local civic platform.

02

FOLLOW THE DATA

How a local AI-powered site works

Local AI website architectureInternet users enter through DNS and an optional small edge VPS, then reach an on-premises reverse proxy, PerfectWorld applications, local AI, video routing, database and ZFS storage.PUBLIC USERSDNS + HTTPSOptional tiny VPS edgeLOCAL BUILDING / COMMUNITY NETWORKREVERSE PROXYCaddy / NginxPERFECTWORLDWeb + API + modulesLOCAL LLMllama.cpp / vLLMCAMERA INGESTMediaMTX + FFmpegPOSTGRES + SEARCHMetadata + indexesZFS STORAGERecords + clipsHeavy compute and source data remain local.The optional edge only forwards encrypted traffic.

Public website path

A browser reaches your domain. A reverse proxy terminates HTTPS, then sends the request to PerfectWorld, the database, search index or local AI API. A small VPS can be an optional edge relay when the local ISP uses CGNAT; it does not need to store the records or perform the heavy inference.

Video path

RTSP/HLS camera feeds enter MediaMTX. FFmpeg or a detector samples frames. The GPU performs object detection, transcription or summarization. PostgreSQL stores searchable metadata while ZFS stores selected clips. The public site receives results—not necessarily every raw frame.

Local LLM path

PerfectWorld calls an OpenAI-compatible endpoint exposed by llama.cpp or another local inference engine. Quantized model weights stay on local disks and are loaded into unified memory or GPU memory. Retrieval can search your own public-record corpus before generation.

03

CHOOSE YOUR MACHINE

Two builds, one open stack

KIT BUILD / LOCAL CIVIC NODE

CivicNode Micro

A compact 128 GB unified-memory server with mirrored NVMe and stackable two-disk cassettes.

PLANNING RANGE$5,800–$8,800before tax, labor and site work

Hardware headline

  • AMD Ryzen AI Max+ 395 class: 16 cores / 32 threads
  • 128 GB LPDDR5x unified memory; up to 112 GB can be assigned to graphics on supported configurations
  • Two mirrored 4 TB M.2 NVMe drives
  • One stackable cassette with two 24 TB SATA drives; add cassettes or a disk shelf later
  • 5 GbE baseline networking
  • Open-source Olimex ESP32-PoE-ISO environmental monitor

Good fit

  • PerfectWorld / BorderLandMail web, database, search and document services
  • A city-size community portal with sensible caching and modest concurrent demand
  • Private local 7B–70B-class quantized model experiments with low-to-moderate concurrency
  • A handful of 1080p video-analysis feeds when models and sampling rates are tuned
  • Department, newsroom, library, school, workshop or disaster-recovery node

Limits to print in red

  • Not high availability by itself—pair it with a second node and off-site backups for public service
  • The soldered memory cannot be upgraded later; choose 128 GB if large local models matter
  • Video retention, not web pages, usually consumes most storage
  • No true hot-swap backplane in the printed cassette; shut down before servicing drives
  • Exact AI and video throughput must be benchmarked

Electrical planning

Idle
70–130 W
Busy
190–330 W

Ordinary grounded 120 V outlet; dedicated circuit preferred when adding disks and UPS.

Parts list and cost worksheet
DoneCategoryQtyPartWhy / specificationPlanning cost
Compute 1 Framework Desktop Mainboard, Ryzen AI Max+ 395, 128 GB
The kit centers on Framework's documented standard Mini-ITX board and open mechanical CAD. A complete Framework Desktop can also be used.
Standard Mini-ITX; 16C/32T; Radeon 8060S; two M.2 sockets; 5 GbE $2,800–$3,400
Cooling 1 Framework heatsink plus 120 mm PWM fan
Do not substitute a cooler without checking socket, mounting pressure and case clearance.
Use the matched six-heatpipe cooler and high-static-pressure 120 mm fan $90–$160
Power 1 400–500 W FlexATX ATX 3.x power supply
Never mix modular PSU cables from different models. Verify the exact board and drive connectors.
24-pin ATX, CPU power, at least four SATA power connectors, 80 Plus Gold preferred $140–$240
Fast storage 2 WD Red SN700 4 TB M.2 2280 NVMe
One drive may be used initially, but a mirror is strongly recommended for production.
Mirror as ZFS; NAS-oriented endurance up to 5100 TBW for the 4 TB model $600–$1,040
Bulk storage 2 Seagate Exos X24 24 TB SATA HDD
Retail prices vary dramatically. Choose identical interface/sector format and retain a cold spare when possible.
7200 RPM enterprise CMR; mirror for approximately 24 TB raw fault-tolerant capacity $1,400–$2,200
Storage I/O 1 PCIe x4 six-port SATA HBA (ASM1166 class)
For a larger shelf, move to a server HBA and a chassis with the matching physical slot and cables.
AHCI/JBOD mode; low-profile bracket or riser as required $70–$150
Monitoring 1 Olimex ESP32-PoE-ISO
Use the non-WROVER version with the included I²C example, or remap I²C pins for WROVER variants.
Open Source Hardware; isolated PoE; Ethernet; Wi-Fi/BLE; UEXT $30–$55
Monitoring
optional
1 BME280, leak probe, reed switch and small OLED
Sensor pins are configurable in the included firmware and ESPHome example.
Temperature/humidity/pressure, floor leak, enclosure door and local status $35–$90
Resilience 1 1000–1500 VA line-interactive pure-sine UPS
Size from measured load and required runtime, not nameplate wattage alone.
USB monitoring; replaceable battery; network shutdown support $280–$550
Network
optional
1 Managed 5/10 GbE switch and CAT6A patch cables
Optional when connecting directly to an existing managed network.
VLAN support; PoE port for the ESP32 monitor $220–$650
Enclosure 1 CivicNode Stack printed enclosure hardware
All printable files and parametric OpenSCAD source are included.
PETG/ABS/ASA, M3 heat-set inserts, M3 screws, rubber drive grommets, fan guards $90–$180
Download BOM.csv
OFF-THE-SHELF TWIN

Minisforum MS-S1 MAX 128 GB plus a four- or eight-bay ZFS storage appliance

Comparable Ryzen AI Max+ 395 / 128 GB compute in a finished chassis, with dual 10 GbE and a PCIe expansion slot; the separate storage appliance improves serviceability.

Tradeoff: Less open mechanical design than the kit and a two-box footprint, but faster to deploy.

04

DO THE MATH

Capacity calculator

Video generated per day
Video retention total
Approx. model weights
Planning memory target
Planning recommendation

Formula notes: continuous video storage ≈ bitrate Mbps × 10.8 GB/day per feed. Model weights ≈ parameter count × bits ÷ 8, plus a planning allowance for metadata, runtime and KV cache. Actual codecs, motion-only recording, batch size and context length can change the result substantially.

05

PRINT THE CHASSIS

CivicNode Stack v1 enclosure

COMPUTE DECKMini-ITX + 120 mm top exhaustPOWER DECK2-DRIVE CASSETTESTACKSTACK

The original enclosure is a panelized, stackable prototype sized for a standard 170 × 170 mm Mini-ITX board, a FlexATX supply and removable two-drive cassettes. Every part fits a nominal 220 × 220 mm print bed. Add another storage deck when the archive grows.

Prototype rule: print one mounting coupon and test-fit the real board, PSU and drives before committing to the full enclosure. Component revisions, connectors and cable bends vary. This printed chassis is not a safety-listed commercial enclosure; use a tested metal chassis or obtain qualified thermal/fire review before unattended public-service deployment.
06

FROM PARTS TO PUBLIC SERVICE

Eight-stage build plan

  1. Scope the service.List public pages, records, AI tasks, camera count, retention, privacy rules and recovery objectives before buying hardware.
  2. Print a fit coupon.Verify Mini-ITX holes, panel thickness, heat-set inserts, rear I/O opening and drive sled tolerance.
  3. Assemble and burn in.Update firmware, run memory and storage tests, monitor temperature, and test full-load power before storing public data.
  4. Create mirrored storage.Mirror boot/database NVMe. Use a separate ZFS pool for records and video. Schedule scrubs and SMART tests.
  5. Install the service layer.Use a supported Linux release, containers or VMs, a reverse proxy, database, backups, monitoring and a firewall.
  6. Add local AI deliberately.Start with a small quantized model in llama.cpp. Measure latency, memory and concurrency; then choose whether a larger model earns its cost.
  7. Move video compute local.Point camera streams at MediaMTX, sample frames for inference, write metadata to the database and retain only what policy allows.
  8. Prove recovery.Restore onto a second machine, simulate internet and power loss, document contacts, and repeat restore tests on a schedule.
07

OPEN-SOURCE TOOLBOX

Suggested software layers

Host

Ubuntu Server LTS for the simplest GPU path, or Proxmox VE for VM/container separation. Use ZFS where its memory and operational requirements are understood.

Web

Caddy or Nginx, PHP/Node, PostgreSQL, Redis and PerfectWorld. Put admin interfaces behind VPN or strong access controls.

AI

llama.cpp for portable quantized inference; vLLM or another supported ROCm engine when the Pro build needs batching or multi-GPU parallelism.

Video

MediaMTX routes RTSP/HLS/WebRTC. FFmpeg decodes or transcodes. OpenCV, Frigate or a purpose-built detector performs selected inference.

Operations

Prometheus/Grafana, SMART monitoring, ESP32 telemetry, UPS shutdown, restic backups and WireGuard for private maintenance access.

Deployment examples

The package includes Compose templates, a Caddy example and an ESP32 monitor project. They are starting points, not one-click production security.

08

THE PART THAT MAKES IT REAL

Reliability, safety and public trust

Three copies

Production data, a local backup and an encrypted off-site copy. A mirror protects availability from one disk failure; it is not a backup.

Two nodes

A second machine can hold replicated services and a recent database copy. The public DNS or edge proxy can switch traffic when the primary is unavailable.

One written policy

Define video retention, access logs, AI review, public-record preservation, redaction and incident reporting before the system collects sensitive material.

Electrical and fire safety: use listed power supplies, grounded outlets, appropriate UPS equipment and proper airflow. Do not fabricate mains wiring. A qualified electrician should verify any new circuit, rack PDU or 208–240 V installation.
09

CHECK OUR WORK

Research sources

20 primary and official references
  1. Framework Desktop specifications — Framework Computer. Mini-ITX dimensions; Ryzen AI Max+ 395; 128 GB; two M.2; 5 GbE; 400 W FlexATX; cooling dimensions
  2. Framework Desktop open mechanical documentation — Framework Computer / GitHub. Standard Mini-ITX and ATX connectors; CC BY 4.0 mechanical documentation
  3. Ryzen AI Max+ unified-memory local AI platform — AMD. Ryzen AI Max+ 395, Radeon 8060S and unified-memory platform
  4. AMD Ryzen AI Max+ developer platform and ROCm — AMD. ROCm and local model development on 128 GB Halo systems
  5. Minisforum MS-S1 MAX — Minisforum. Off-the-shelf 128 GB Ryzen AI Max+ 395 alternative, dual 10 GbE and expansion
  6. ESP32-POE-ISO Open Source Hardware Board — Olimex. OSHW certification, isolated PoE, board dimensions and supported toolchains
  7. WD Red SN700 — Western Digital. 4 TB M.2 NAS SSD and up to 5100 TBW endurance
  8. Exos X24 — Seagate. 24 TB enterprise SATA models and five-year limited warranty on listed models
  9. Sliger CX4712 — Sliger. 4U chassis bays, fan positions and expansion capacity
  10. ROMED8-2T — ASRock Rack. SP3 socket, DIMM channels, PCIe slots, SATA, dual 10 GbE and IPMI
  11. AMD EPYC 7443P specifications — AMD. Core/thread count, clocks, TDP, PCIe lanes and memory channels
  12. Radeon AI PRO R9700 — AMD. 32 GB GDDR6, power, cooling form and professional AI positioning
  13. Broadcom 9500-16i — Broadcom. PCIe 4.0 Tri-Mode HBA and 16 internal ports
  14. Dell PowerEdge R760xa — Dell Technologies. Off-the-shelf GPU rack-server comparison
  15. llama.cpp — ggml-org. Local and cloud inference, quantization, AMD HIP, Vulkan and CPU/GPU hybrid inference
  16. llama.cpp Docker images — ggml-org. Official CPU, ROCm and Vulkan server images
  17. MediaMTX documentation — MediaMTX. Self-hosted publishing, proxying, recording and playback of RTSP, HLS, WebRTC and other streams
  18. Proxmox VE administration guide — Proxmox. Virtual machines and containers
  19. ZFS on Linux — Proxmox. ZFS storage, snapshots and integrity features
  20. Parallelism and Scaling — vLLM. Tensor, pipeline and data-parallel deployment concepts

Research and planning date: August 8, 2026. The module deliberately uses planning ranges instead of pretending that volatile hardware prices are permanent.