dev
Reviewed-on: #81
Catalyst
A self-hosted infrastructure registry for homelab Proxmox environments. Track virtual machines across stacks, monitor service health, and maintain a full audit log of every configuration change.
Features
- Dashboard — filterable, searchable instance list with state and stack badges
- Detail pages — per-instance view with service flags, Tailscale IP, and a full change timeline
- Audit log — every field change is recorded with before/after values and a timestamp
- Full CRUD — add, edit, and delete instances via a clean modal interface
- Production safeguard — only development instances can be deleted; production instances must be demoted first
- Export / import — JSON backup and restore via the settings modal
- REST API — every operation is a plain HTTP call
- Persistent storage — SQLite on a Docker named volume; survives restarts and upgrades
- Zero native dependencies — SQLite via Node's built-in
node:sqlite; no compilation, no binaries
Quick start
docker compose up -d
Open http://localhost:3000.
Environment variables
| Variable | Default | Description |
|---|---|---|
PORT |
3000 |
HTTP port the server binds to |
DB_PATH |
data/catalyst.db |
Path to the SQLite database file |
REST API
See docs/api.md for the full API reference.
Development
npm install
npm test # run all tests once
npm run test:watch # watch mode
npm start # start the server on :3000
Tests are split across three files:
| File | What it covers |
|---|---|
tests/db.test.js |
SQLite data layer — CRUD, constraints, filters, history logging |
tests/api.test.js |
HTTP API — all endpoints, status codes, error cases |
tests/helpers.test.js |
UI helpers — esc() XSS contract, date formatting, history formatters |
Versioning
Catalyst uses semantic versioning. package.json is the single source of truth.
| Change | Bump |
|---|---|
| Bug fix | patch |
| New feature, backward compatible | minor |
| Breaking change | major |
Pushing a tag triggers the CI pipeline: test → build → release.
Docker images are tagged :x.y.z, :x.y, and :latest.
Releases
16
Catalyst v1.7.2
Latest
Languages
JavaScript
81.1%
CSS
12.5%
HTML
6.1%
Dockerfile
0.3%