The desktop app your Minecraft server has been missing.
Run a managed vanilla server, or attach to an existing Docker/Podman container.
One native app. No dashboard to self-host, no local API server.
Why · Install · Features · Development · License
Running a Minecraft server means juggling server.properties in a text
editor, an RCON client for admin commands, docker logs -f or a container
dashboard for status, and manual tar commands for backups — or a
self-hosted web panel that means running yet another service (and securing
it) just to manage the one you actually care about.
MineUI is a native desktop app, not a web panel: Tauri v2 (Rust backend) driving a Next.js static-export frontend over Tauri IPC — no Electron, no bundled Chromium, no local HTTP server to expose or secure. It runs in one of two modes:
- Simple mode (default) — MineUI creates and runs a vanilla server for you: pick a Minecraft version, set memory, accept the EULA, and MineUI downloads the official server jar (SHA-1 verified), configures RCON, and supervises the Java process. No containers required.
- Advanced mode — attach to an existing Minecraft server container
managed by Docker or Podman (auto-detected, Podman preferred): control,
logs, players, RCON, mods/plugins, config editing, backups, and container
metrics. MineUI attaches to a container that already exists (e.g. an
itzg/minecraft-server-style image with the world/config under/data) — it does not create or pull one for you.
Grab the build for your platform from the latest release:
| Platform | Package |
|---|---|
| Linux x86_64 | MineUI_2.0.0_amd64.AppImage — chmod +x and run |
| Debian/Ubuntu | MineUI_2.0.0_amd64.deb — sudo apt install ./MineUI_2.0.0_amd64.deb |
| Windows x64 | MineUI_2.0.0_x64-setup.exe |
| macOS (Apple Silicon) | MineUI_2.0.0_aarch64.dmg |
| macOS (Intel) | MineUI_2.0.0_x64.dmg |
Simple mode needs Java installed (MineUI version-checks it against the Minecraft release you pick). Advanced mode needs Docker or Podman.
v1.0.0on the Releases page is the old Electron app — it predates this architecture and isn't what this README describes.
The released binaries are free. Building from source requires a HeroUI Pro license — see Note on HeroUI Pro below before you start.
Website & docs: mineui.i4c.studio
Start, stop, and restart (managed process or container), with live TPS, MSPT, player count, and server version, plus a streamed log viewer — no polling.
Online players, join/leave history with last-seen and IP, and one-click whitelist/op/ban/kick actions.
An allowlisted command panel — only vetted commands can be run, even with raw RCON access configured.
Browse what's installed, upload a jar from disk, or download one from a URL.
Edit server.properties and files under config/ directly from the app.
Create, list, restore, and delete .tar.gz snapshots.
CPU, memory, and disk, plus network/block IO when attached to a container.
Deepslate & Emerald (default), Phosphor Amber, Quantum Fluidity, and Soft
Glass — switchable in Settings, persisted locally. The token contract behind
them is in docs/theme-contract.md.
Point Settings' Server utils URL at an instance of mineui_server_utils — a Forge 1.20.1 mod or Paper/Bukkit plugin that runs inside the server JVM — for real tick-based TPS/MSPT, per-dimension chunk/entity counts, and the actual loaded mod/plugin list. Without it, MineUI falls back to a server-list ping plus container/process metrics; everything else still works.
crates/mineui-core is pure Rust (no Tauri dependency, 84 unit tests);
src-tauri is a thin #[tauri::command] shell (31 IPC commands) that
delegates to it. The full command/error/event surface is specified in
docs/v2-contract.md — binding, not a suggestion; see
CONTRIBUTING.md.
Prerequisites: pnpm and Rust via rustup (stable toolchain) — see the Tauri v2 prerequisites for platform-specific system packages. On Linux:
sudo apt install libwebkit2gtk-4.1-dev build-essential libssl-dev librsvg2-devpnpm install
pnpm tauri dev # Next.js dev server + Tauri windowOther commands:
pnpm dev— frontend only, in a plain browser (no backend; IPC calls fail soft with a "Backend unavailable" notice)pnpm build— static export toout/(what Tauri bundles)pnpm lint— ESLintpnpm tauri build— production desktop bundlecargo test -p mineui-core— Rust unit tests (84 tests; must stay green)
CI (.github/workflows/ci.yml) runs lint/typecheck/build on the frontend and
cargo fmt/clippy/test plus a cargo check of the Tauri shell, on every
push to main/v2-tauri and PR into main.
The UI uses @heroui-pro/react (KPI cards, EmptyState, Stepper, and other
Pro components), a commercially licensed package from NextUI Inc. The
npm package on the public registry is a stub — its postinstall script
downloads the real components only with an authenticated session
(npx heroui-pro login) or an HEROUI_AUTH_TOKEN environment variable.
Without either, pnpm install appears to succeed but the package is empty
and the build fails to resolve @heroui-pro/react imports. Get a license at
heroui.com/pro, or open an issue if this is
blocking a contribution.
AGPL-3.0-only — see LICENSE. Fonts are self-hosted under their own
licenses (MIT/OFL) via Fontsource; Monocraft is
vendored under the SIL OFL — see app/fonts/Monocraft-LICENSE.txt.
@heroui-pro/react is separately, commercially licensed — see
Note on HeroUI Pro.