Ordo Fabric

Self-hosted infrastructure manager

Angular.NET 8DockerTypeScriptLinuxSelf-hosted
Ordo Fabric
Ordo Fabric

Ordo Fabric was born from the need to manage all my projects from one place without paying for cloud services. I didn't want to build on Coolify or CapRover — I wanted my own system that does exactly what I need.

System monitoring reads directly from the /proc filesystem: CPU usage from two 500ms samples, memory from /proc/meminfo, load average, uptime, OS version — all queried in parallel. No need for Prometheus or Grafana, I see the server state in real time on the dashboard.

Docker integration is handled through the Docker.DotNet API, not shell commands. Start, stop, restart, delete containers, and real-time stats (CPU%, memory in MB and percent) — CPU calculation uses the cpuDelta/systemDelta × onlineCPUs formula.

Deployment works two ways: Dockerfile-based (clone repo → build image → create container → Caddy reverse proxy) and Docker Compose (clone repo → generate .env → docker compose up -d --build → upstream discovery → Caddy route). Both run in a background deployment queue with per-step logging, and if anything fails, it cleans up after itself (image, container, directory).

Port allocation runs under Serializable transaction isolation so two parallel deployments can't get the same port (range 3000-9999). Caddy reverse proxy is configured via HTTP Admin API: domain → localhost:port mapping, automatic route cleanup on deletion.

Security is taken seriously: PBKDF2 SHA512 with 350,000 iterations and 64-byte random salt for password hashing, FixedTimeEquals comparison. JWT with HmacSha512 signing, 24-hour expiry. Registration key system — you can't just sign up. Rate limiting: 10 requests/minute on auth endpoints. Four roles: SuperAdmin, Admin, User, Viewer — users cannot modify themselves from the admin panel.

42 unit tests, 100% pass rate. Angular 21 frontend, standalone components, signals, English and Hungarian language support.

Ordo Fabric - 2
Ordo Fabric - 2
Ordo Fabric - 3
Ordo Fabric - 3
Ordo Fabric - 4
Ordo Fabric - 4