Skip to content

W1seGit/Cliff

Repository files navigation

Cliff

πŸš€ The BEST way to host Minecraft servers on your VPS or home lab.

A self-hosted, blazing-fast web dashboard for managing Minecraft Java servers. No cloud. No subscription. No external dependencies. Just you, your hardware, and a dashboard that actually feels good to use.

CI Build Release License Last Commit Platforms


πŸ“Έ Screenshots

Dashboard
Dashboard
Live Console
Live Console
Mod & Plugin Browser
Mod & Plugin Browser
Server Settings
Server Settings
Backups
Backups
File Browser
File Browser
Player Management
Player Management
Public Access
Public Access
Mobile
Mobile

✨ Features

  • Server management β€” import, create, clone, start/stop Vanilla, Paper, Purpur, Folia, Fabric, Forge, and NeoForge servers
  • Live console β€” WebSocket streaming with command input, presets, and log download
  • Mod & plugin management β€” install, search, and bulk manage mods/plugins via Modrinth and CurseForge
  • Worlds & datapacks β€” switch worlds, import, rename, delete with snapshot protection
  • Player access β€” ops, whitelist, bans with Mojang UUID lookup and live player heads
  • Backups β€” automatic snapshots before risky actions, manual snapshots, restore, and retention cleanup
  • File browser β€” upload, download, edit configs/JSON/YAML/TOML
  • Responsive UI β€” dark theme that works on desktop and mobile
  • Public access β€” optional playit.gg integration
  • Zero dependencies β€” no Docker, no Node runtime in production, no external database. Single ~13 MB binary.

πŸš€ Quick Links

πŸ“– Documentation πŸ’¬ Discord
Visit Docs Join Discord
Installation guides, configuration tutorials, and API reference Get help from the community and development team

πŸ“₯ Install

One-command install

Windows (PowerShell):

irm getcliff.dev/install.ps1 | iex

macOS / Linux:

curl -fsSL getcliff.dev/install.sh | sh

That's it. The installer downloads the prebuilt binary, starts the daemon, and prints your dashboard URL. Use -p <port> to install on a custom port:

irm getcliff.dev/install.ps1 | iex -- -p 8081
curl -fsSL getcliff.dev/install.sh | sh -s -- -p 8081

From a prebuilt package

Download a cliff-<version>-<platform>-<arch>.zip from releases, extract it, and run:

cliff start

CLI usage

After installing, cliff is available in your terminal:

Command Description
cliff start Start the daemon in the background
cliff stop Stop a running daemon
cliff status Show daemon status (URL, uptime, PID)
cliff update Check for and apply updates
cliff uninstall Remove Cliff from this machine
cliff version Print version information
cliff help Show all commands and flags

⚑ After installing

  1. Open http://localhost:8080 in your browser (or http://<your-server-ip>:8080 from another device on the same network)
  2. Create a local admin account on first visit
  3. Import an existing server folder/ZIP or create a new one from the dashboard
  4. Hit start β€” you're running

πŸ’» Supported Platforms

Platform Architecture
Windows x86_64 (amd64)
Linux x86_64 (amd64)
Linux ARM64
macOS Intel (amd64)
macOS Apple Silicon (arm64)

πŸ“¦ Build Size

Cliff ships as a single self-contained binary with embedded static web assets. No runtime dependencies.

Component Size
Daemon binary (Go, stripped) ~12 MB
Static web assets (dashboard) ~1.4 MB
Total packaged ~13 MB

Runtime usage (idle)

Metric Value
RAM ~13 MB
CPU < 1%
Threads ~19

πŸ“Š Code Statistics

Extension Files Lines
.go 35 14,014
.tsx 61 9,547
.css 30 7,456
.ts 6 949
.js 26 248
Total 158 32,214

🀝 Contributing

We welcome contributions! Check out CONTRIBUTING.md to get started.


πŸ“„ License

This project is licensed under the GNU General Public License v3.


πŸ’Ό Want to use Cliff for your app?

If you're building a hosting platform, a server panel, or anything else that could benefit from embedding Cliff, we'd love to talk. Reach out and let's figure it out together.

[email protected]


Made with ❀️ by the Cliff Team

Releases β€’ Issues β€’ Stargazers β€’ Discord