A lightweight, web-based control panel for managing multiple Minecraft servers via Docker.
- Multi-Server Management โ Deploy, start, stop, and monitor multiple Minecraft servers from a single dashboard
- Docker Orchestration โ Each server runs in its own isolated Docker container
- File Management โ Browse, upload, download, and edit server files directly in the browser
- Mod Management โ Install, remove, and toggle server-side and client-side mods
- RCON Console โ Send commands to running servers via WebSocket
- Real-Time Logs โ Stream server logs in real-time through WebSocket
- Player Management โ View online players, bans, ops, and whitelist
- Client Mod Archive โ Generate and share client mod packages with public download links
- Minimin Sync โ Pair with the desktop client so players can auto-sync modpacks
- Modrinth Integration โ Search and download mods directly from Modrinth
- Backend: Go + Docker SDK โ orchestrates containers, exposes REST API and WebSocket endpoints
- Frontend: Nuxt 4 + Vue 3 + TailwindCSS โ SPA dashboard served by Caddy
- Reverse Proxy: Caddy โ serves static frontend and proxies
/api/*and/ws/*to the backend
- Docker & Docker Compose
- Docker socket access (for orchestrating Minecraft containers)
mkdir minimin && cd minimin
# Download compose file and env template
curl -O https://raw.githubusercontent.com/quonaro/minimin/main/docker-compose.yml
curl -o .env https://raw.githubusercontent.com/quonaro/minimin/main/.env.example
# Edit .env โ set ORCHESTRATOR_API_KEY and MC_SERVERS_HOST_DIR
nano .env
# Start the stack
docker compose up -d
# Open http://localhost:8081| Service | Description |
|---|---|
minimin |
Single container with Go backend + embedded frontend (port 8081) |
volumes |
./data โ state file (instance.yml), ${MC_SERVERS_HOST_DIR} โ servers |
ports |
8081:8081 โ web UI and API |
env_file |
.env โ all configuration in one file |
All variables live in .env (see .env.example for the full template):
| Variable | Default | Description |
|---|---|---|
ORCHESTRATOR_API_KEY |
(required) | Secret key for authentication |
ORCHESTRATOR_LOG_LEVEL |
info |
Backend log level: debug, info, warn, error |
MC_SERVERS_DIR |
/app/servers |
Directory for server data inside the container |
MC_SERVERS_HOST_DIR |
(required) | Absolute host path that maps to MC_SERVERS_DIR |
MC_INSTANCE_FILE |
/app/data/instance.yml |
Path to state file |
MODRINTH_CUSTOM_URL |
(empty) | Optional custom Modrinth API URL |
Use dev.yml for hot-reload development.
# 1. Edit dev.yml โ set your MC_SERVERS_HOST_DIR and ORCHESTRATOR_API_KEY
# 2. Start dev stack
docker compose -f dev.yml up
# 3. Open frontend at http://localhost:3000
# Backend API is available at http://localhost:8081docker build -t minimin .Multi-stage build:
frontend-builderโ installs npm deps and generates static SPAbackend-builderโ compiles Go binaryruntimeโ Alpine Linux with Caddy + supervisor
Main dashboard โ server cards with status, online players, quick actions.
Server console tab โ real-time logs + RCON command input.
File manager โ browsing server directories, editing config files.
Mod management โ installed mods list, toggle / remove / add from Modrinth.
Resource packs & shaders management.
Client mod archive โ generating a public download link for players.
Online players, bans, ops, and whitelist view.
Open source. See repository for details.
