lumicd serves the initial operator UI from the same Rust application/platform services used by CLI and MCP. It has no frontend runtime and no separate business-logic stack.
Sign in
Generate or rotate the admin token on the node:
sudo lumic ui token rotate
The token is shown once. Lumic persists only its SHA-256 digest in private state. Open http://127.0.0.1:8080 through an SSH tunnel:
ssh -L 8080:127.0.0.1:8080 root@server
Sessions are in-memory, HttpOnly, SameSite=Strict and expire after eight hours. The session set is bounded, and daemon restart or admin-token rotation invalidates existing sessions. Mutating POSTs require a session-bound CSRF token. Responses carry a restrictive content-security policy, no-sniff, no-referrer and no-store headers.
lumicd refuses a non-loopback LUMIC_UI_BIND. For remote/shared access, keep Lumic on loopback and place an authenticated TLS reverse proxy in front of it; direct unauthenticated exposure is unsupported.
Current views and actions
The black/white UI uses a responsive, grouped sidenav modeled on Rust/UI’s Sidenav with Grouped Sections block. Monitor, workload and system capabilities remain visually separate; the active destination is identified in both markup and presentation. On narrow screens the same navigation is available from a keyboard-operable disclosure panel. The shell is still rendered by Rust/Axum, so this improvement does not add a browser application runtime or duplicate Lumic’s application behavior.
The UI provides:
- the canonical conversational attention card, including severity, evidence and recommended actions;
- live server identity and resource overview;
- application list/detail and typed service references;
- evidence-backed application fingerprint and dependency graph panels;
- deployment history, phases and commit detail;
- managed-service list/detail, provider health and local data records;
- events and bounded journal logs;
- expert systemd unit, configuration/data paths, version, bind address and port;
- recipe catalog and installed-version state;
- host accounts, listeners, mounts, timers and pending updates;
- infrastructure identity, trusted/revoked peers, Git repositories/mirrors, portable environments, endpoints, memberships and coordinated deployment state;
- confirmed restart, deploy, rollback and security-update actions.
Safe actions call the existing shared services and therefore retain their validation, health gates, rollback behavior, events and audits. Installation registers lumicd.service; inspect it with systemctl status lumicd.service and logs with journalctl -u lumicd.service.
The attention card uses the same AttentionService as lumic how-are-you and MCP. A selected personality changes its phrasing, but the card always includes the complete factual summary and never suppresses a warning.
The authenticated /api/infrastructure endpoint exposes the same read model as JSON. Infrastructure and application-intelligence mutations remain in CLI/MCP for now; the UI shows the deterministic fingerprint evidence and dependency graph without adding a second orchestration path. The initial UI intentionally omits service installation/configuration forms, fine-grained identities, persistent sessions, login throttling and fleet-wide mutation forms. Those are follow-up work rather than a reason to introduce a large frontend framework.