All articles

System & Architecture

Architecture

How rumahl OS is built — Rust microservices, ports, the platform principle and the security layers.

6 min readUpdated: 20 August 2026

rumahl OS is a Rust workspace of more than 20 crates, organised as loosely coupled microservices. Each service has a clear job — and a clear port assignment.

Services and ports

ServiceDev portProd portRole
rumahl-home30018126Main API + dashboard (Axum, SQLite)
rumahl-core80908090Service discovery, plugin registry
rumahl-control80918091Control center, system services
rumahl-assist80928092AI assistant (ORA)
rumahl-secrets80938093Encrypted secrets storage
rumahl-watchdog80948094Health monitoring, failover
rumahl-security80958095Threat detection, lockdown
rumahl-supervisor80978097Docker container management
rumahl-appstore80988098App store

The platform principle

The architecture separates consistently:

  • Apps install features — the platform ships the core
  • Everything above the permission boundary is app territory
  • Everything below belongs to the rumahl core and stays stable, tested and documented
  • Third parties build apps without knowing how rumahl implements storage, users or windows internally
code
rumahl Apps          ← installable, permissioned, replaceable
─────────────────────────────────────────────
Window Manager / Desktop  (shell UX, session)
Files / Notifications / Jobs / Users          ← OS services & SDK
Permissions                                    ← trust boundary
rumahl Runtime (plugin sandbox, app lifecycle)
System Services (control, network, backup…)   ← microservices
Kernel / Linux

Security layers

LayerMechanisms
Authentication & authorizationJWT, API keys, PIN, RBAC
Network securityDomain whitelist, IP access control, sandbox
Data protectionAES-256-GCM encryption, hash-chained audit logs
Threat detectionIntrusion detection, auto-lockdown, alerts
Platform securityAppArmor, Docker isolation, read-only filesystem

The ora.* SDK

Apps access the platform through a single SDK surface: ora.notifications, ora.files, ora.storage, ora.clipboard, ora.windows, ora.permissions, ora.jobs, ora.secrets, ora.users, ora.devices, ora.home and ora.system.events. Every call is permission-checked at the API gateway.

Tip: the complete endpoint reference lives in the API Reference document.

On this page

Didn't solve your problem? Contact us — we're happy to help.