// Getting started
overview
what kern is, and where to go next.
kern docs
kern (always lowercase) is a cross-platform desktop server manager built with tauri v2 (rust backend + react frontend). it turns any folder on your computer into a managed server instance — with a live terminal, telemetry, and graceful lifecycle — and you teach it new server types by installing plugins.
think of it as a self-hosted alternative to cloud game-panel tools (pterodactyl, amp, pufferpanel) — but as a native desktop app driven by a plugin system.
where to start
- new to kern? start with
getting-started— download, register your first instance, start it. - running servers daily?
clifor the terminal and dashboard,backupsandtasksfor the overnight safety net. - building a plugin? read
manifest-referencefirst, thenlifecycle,config-schema, andplugin-ui. - writing scripts?
automation-apiis the full JSON surface,cliis the friendly client. - publishing? see
distributionfor the registry flow. - stuck?
troubleshootingmaps symptoms to fixes;recipeshas copy-paste setups.
the big ideas
- instance — a registered project folder that kern manages. full crud, with orphaned-state detection.
- plugin — a
.kernfile that teaches kern how to run one type of server. - lifecycle —
start/stop/restart/install, declared per-plugin and resolved at launch by rust. - host api — the bridge plugins use to talk to tauri commands, events, and the ui shell.
// note
these docs are the source of truth for plugin developers. the app itself ships with two sample plugins — a game server plugin and a bot runner — that exercise nearly every feature.
beyond the basics
- preflight — before a start, kern checks ports the instance used last time (with the owning pid), a pending minecraft eula, and low disk space.
- crash watchdog — auto-restart with backoff after unexpected exits, plus a last-crash report (exit code + log tail) on the monitor tab.
- notifications — in-app center, native os toasts when unfocused, discord/slack webhooks, and regex log alerts. see
notifications. - schedules — interval, daily, or cron tasks (restart / start / stop / command / backup / health) with optional pre-restart console announcements.
- audit log — local history of lifecycle actions, config changes, plugin installs, backups, and task runs.
- remote access — a full control panel in a browser (console, files with a real editor, backups, schedules, plugins), on your lan over https or anywhere through a cloudflare tunnel, with per-device roles you can invite and revoke. see
web-remote. - cli & automation —
kern-cliand a loopback-only json api for scripts. seecli.