Skip to content

diamonddigitaldev/Craftbox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

75 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Craftbox Logo

Craftbox

A modern self-hosted platform for managing Minecraft servers with built-in mod support.

license version docker

discord buy me a coffee

Warning

Craftbox is not stable yet and is under active development. Do not migrate to Craftbox as your primary server management solution just yet! Beta updates may contain breaking changes or bugs that could cause corruption or data loss. If you find a bug, please submit a bug report in the issues tab.

πŸ”Ž Overview

Craftbox is a self-hosted web panel for creating, configuring, monitoring, and managing Minecraft servers β€” no command-line expertise or dodgy download pages required.

It ships as a single Node.js / Express application with a Bootstrap 5 dark-theme UI, WebSocket-powered live console, and SQLite for zero-config persistence. Deploy it with Docker or run it standalone.

Whether you're running a single Vanilla server or juggling multiple modded instances, Craftbox gives you full control from your browser.

✨ Features

  • πŸ–₯️ Multi-Server Management β€” Run and manage multiple Minecraft servers from a single panel, each with its own console, watchdog, and configuration.
  • 🧩 Multi-Server-Type Support β€” Vanilla, Paper, Purpur, Folia, Fabric, Forge, NeoForge, and custom JAR uploads.
  • πŸ“Ÿ Live Console β€” Real-time server log streaming and command input via WebSocket.
  • βš™οΈ Server Configuration UI β€” Edit server.properties, JVM flags, memory allocation, game mode, difficulty, and more β€” all from the browser.
  • πŸ’Ύ Backups β€” One-click manual backups, scheduled backups with retention policies, and one-click restore.
  • πŸ”Œ Plugin & Mod Management β€” Upload and manage JAR files for plugins (Paper/Purpur/Folia) and mods (Fabric/Forge/NeoForge).
  • πŸ“‹ Server Duplication & Templates β€” Clone a server with or without world data, or save configurations as reusable templates.
  • πŸ“Š Status & Monitoring β€” Public status pages, live player tracking, resource monitoring, and event history.
  • πŸ›‘οΈ Crash Detection & Auto-Restart β€” Watchdog detects crashes/runtime errors and optionally auto-restarts.
  • πŸ“± PWA Support β€” Installable as a Progressive Web App on desktop and mobile.

πŸ“Έ Screenshots

Feature Screenshot
Dashboard β€” Overview of all your servers, their status, and quick actions. Dashboard
Create Server β€” Set up a new server with type, version, and settings. Create
Console β€” Real-time server logs and command input with live updates. Console
Settings β€” Configure basic world settings, JVM flags, auto-restart, auto-start, and other server behaviors. Settings
Server Properties β€” Edit server.properties from the browser. Properties
Plugin & Mod Manager β€” Upload and manage plugins for Paper/Purpur or mods for Fabric/Forge/NeoForge. Mods
File Manager β€” Browse and edit server files directly from the web panel. Files
Backups β€” Create, schedule, and restore backups with retention policies. Backups
Event History β€” Track player joins, crashes, restarts, and other events. Events
Public Status Page β€” Share a read-only status page with your community. Status
Server Templates β€” Quickly create new servers based on existing configurations. Templates

🧰 Getting Started

Docker (Recommended)

A common problem with Minecraft server setups is that they require a specific version of the Java runtime depending on your Minecraft version.

The Docker image contains all Java runtime versions required for each version of Minecraft. Craftbox will intelligently pick the correct one for you!

Pull the image from Docker Hub and run it:

docker run -d \
  --name craftbox \
  --restart unless-stopped \
  -p 6464:6464 \
  -p 25500-25600:25500-25600 \
  -v /path/to/craftbox/data:/app/data \
  willtda/craftbox:latest

⚠️ Important: The -v volume mount is essential. It stores your database, server files, and backups. If you do not bind a host path, all data will be lost when the container is removed. Make sure the path you choose is backed up and persistent.

Note: The Docker image only exposes ports 25500–25600 for Minecraft servers, allowing up to 100 servers. When creating servers in Craftbox, make sure to assign ports within this range. If you only need a few servers, you can expose a smaller subset (e.g. -p 25500-25510:25500-25510).

Alternatively, use docker-compose.yml:

services:
  craftbox:
    image: willtda/craftbox:latest
    container_name: craftbox
    restart: unless-stopped
    ports:
      - "6464:6464"           # Web panel
      - "25500-25600:25500-25600"  # Minecraft server ports (up to 100 servers)
    volumes:
      - /path/to/craftbox/data:/app/data
    stop_grace_period: 45s

⚠️ Double-check your volume mapping before starting. The /app/data directory inside the container holds everything β€” your SQLite database, server directories, and backup archives. If this is not correctly mapped to a host path, you will lose your configuration and servers when the container is recreated.

Craftbox will be available at http://localhost:6464. On first launch, you'll be prompted to create an admin account.

Standalone

Requirements: Node.js 24+ and Java (8, 17, 21, or 25 depending on Minecraft version).

git clone https://github.com/diamonddigitaldev/Craftbox.git
cd Craftbox
npm install
npm start

For development with auto-reload:

npm run dev

Environment Variables

Variable Default Description
PORT 6464 Port for the web panel
NODE_ENV development Set to production for secure session cookies (required when serving over HTTPS)
TRUST_PROXY false Set to true if running behind a reverse proxy (e.g. Nginx, Caddy, Cloudflare Tunnel) so that rate limiting and secure cookies work correctly

Deployment note: When deploying behind HTTPS (directly or via a reverse proxy), you must set NODE_ENV=production so that session cookies are marked Secure and only transmitted over encrypted connections. Without this, browsers will reject session cookies over HTTPS with SameSite=Strict, and login will not persist.

πŸ“œ License

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

πŸ“– Acknowledgements

πŸ™‚ Contact Us

About

A modern self-hosted platform for managing Minecraft servers with built-in mod support.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Contributors