josh f500db971b
build-and-push / build-and-push (push) Successful in 1m26s
Initial commit: Infrastructure host tracking app
Fastify + node:sqlite single-process app with vanilla JS UI for
looking up hosts by hardware ID, hostname, or asset ID. Includes
per-host network interface tracking, sites/rooms/server-types CRUD,
Docker packaging, and a Gitea Actions workflow that runs tests then
builds and pushes to gitea.thewrightserver.net/josh/infrastructure.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-19 17:05:50 -04:00

Infrastructure

A small internal tool for tracking servers. Search hosts by hardware ID, hostname, or asset ID; manage where they live (site / room / position) and what kind of server they are. Browser UI plus a JSON API.

Run

npm install
npm start

UI on http://localhost:3000, API at http://localhost:3000/api.

Test

npm test

Docker

docker compose up --build

Data persists in the infrastructure-data named volume.

API

Method Path Notes
GET /api/hosts?q= Substring search across hardware_id, hostname, asset_id. Capped at 200 results.
GET /api/hosts/:id Fetch one.
POST /api/hosts Create.
PUT /api/hosts/:id Replace.
DELETE /api/hosts/:id Hard delete.
* /api/sites[/:id] Site CRUD.
* /api/rooms[/:id] Room CRUD (?site_id= filter on GET).
* /api/server-types[/:id] Server-type CRUD.

Errors: { error, details? } with status 400 / 404 / 409 / 500.

S
Description
A small internal tool for tracking servers
Readme 64 KiB
Languages
JavaScript 85%
CSS 10.2%
HTML 4.5%
Dockerfile 0.3%