No description
  • Python 35.3%
  • JavaScript 31.4%
  • CSS 18.2%
  • HTML 14%
  • Dockerfile 0.8%
  • Other 0.3%
Find a file
2026-06-15 09:00:48 +02:00
static initial commit 2026-06-15 09:00:48 +02:00
templates initial commit 2026-06-15 09:00:48 +02:00
app.py initial commit 2026-06-15 09:00:48 +02:00
build.sh initial commit 2026-06-15 09:00:48 +02:00
docker-compose.yml initial commit 2026-06-15 09:00:48 +02:00
Dockerfile initial commit 2026-06-15 09:00:48 +02:00
LICENSE initial commit 2026-06-15 09:00:48 +02:00
README.md initial commit 2026-06-15 09:00:48 +02:00
requirements.txt initial commit 2026-06-15 09:00:48 +02:00

MAP — Minecraft Admin Panel

Python Flask Docker License

A self-hosted web panel for managing Minecraft servers in Docker. Built with Flask + vanilla JS.


Requirements

  • Docker (running and accessible to the current user)
  • Python 3.9+
  • pip install flask

Quick Start

# 1. Install dependencies
pip install -r requirements.txt

# 2. Start the panel
python app.py

# 3. Open in browser
open http://localhost:5000

Features

Feature Details
Launch servers Spins up itzg/minecraft-server containers with customisable type, version, memory, port, difficulty, MOTD
Console Live-tailing logs (4 s poll) + free-text command input + quick-command shortcuts
Players & OPs OP/De-OP, Kick/Ban/Pardon, Give items, switch Game Mode — all via RCON
Resource stats Per-container CPU %, memory, network I/O, disk I/O (5 s poll)
Backups Create labelled .tar.gz snapshots of the world volume, restore, download, delete
Multi-server Manage unlimited server instances simultaneously

Architecture

browser  ──HTTP──▶  Flask (app.py)  ──subprocess──▶  docker CLI
                         │
                    /backups/          (tar.gz archives)

The panel talks to Docker via the docker CLI (no Docker socket bind-mount needed). Every Minecraft container is tagged with mc-panel=true so the panel only sees its own servers.


Server types supported

Via itzg/minecraft-server image:

  • Paper (default, best performance)
  • Vanilla
  • Fabric
  • Forge
  • Spigot
  • Purpur

Ports

Each server uses two ports:

Port Purpose
<N> Minecraft clients
<N+1> RCON (used for in-panel commands)

Default first server: 25565 (game) / 25566 (RCON).


Backup storage

Backups are stored in ./backups/ as <server-name>_<label>.tar.gz. They contain the full /data volume (world, configs, plugins, etc.).


Security note

This panel is intended for trusted local networks or personal use. It does not include authentication. Do not expose it to the public internet without adding a reverse proxy with auth (e.g. nginx + basic auth, or Authelia).


License

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