Skip to content

Docker image that provides a Minecraft Server for Java Edition that automatically installs/upgrades versions, modloaders, modpacks and more at startup

License

Notifications You must be signed in to change notification settings

involvex/docker-minecraft-server

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Minecraft Server with Web Management UI

๐ŸŽฎ Complete Minecraft server setup with modern web-based administration interface

๐Ÿ“ฆ Version 2.1.0 - Major Bug Fixes & Improvements

Latest Release: November 22, 2025

๐Ÿ› Critical Fixes in v2.1.0

  • โœ… FIXED: WebUI constant restarting issue (containers now run stably)
  • โœ… FIXED: PowerShell encoding problems with Unicode characters
  • โœ… FIXED: manage.bat script output suppression
  • โœ… CLEANED: Removed 5 duplicate management scripts
  • โœ… UPDATED: All documentation to reflect current file structure

๐Ÿš€ What's New

  • Simplified Management: Streamlined batch scripts with clean ASCII output
  • Better Documentation: Updated all setup guides with correct file references
  • Enhanced Stability: Improved health checks and service dependencies
  • Cross-Platform: Works reliably in both PowerShell and Command Prompt

This project provides a production-ready Minecraft server with a comprehensive web management system, built using Docker and modern web technologies.

โœจ Features

๐Ÿ”ง Server Management

  • Easy Configuration: Edit server settings through web interface or config files
  • Plugin Management: Upload, install, and manage plugins seamlessly
  • Real-time Monitoring: Live server status, player count, and system resources
  • Backup System: Automated and manual backup capabilities

๐ŸŒ Web Interface

  • Modern Dashboard: Real-time server overview with system metrics
  • Console Access: Execute RCON commands directly from the browser
  • Live Logs: Stream server logs in real-time with filtering
  • Player Management: OP, De-OP, Ban, Unban, and Kick players
  • Ban List: View and manage banned players
  • Configuration Editor: Edit server.properties through the web UI
  • Dark Mode: Toggle between light and dark themes (preference saved)

๐Ÿ”’ Security & Reliability

  • RCON Integration: Secure remote command execution
  • Environment-based Configuration: Easy environment variable management
  • Network Isolation: Docker network for secure container communication
  • Health Monitoring: Automatic service health checks and restart policies

โš™๏ธ Management Commands

Once your server is set up, use these commands to manage it:

Available Commands

  • manage.bat help - Show all available commands
  • manage.bat start - Start the Minecraft server
  • manage.bat stop - Stop the Minecraft server
  • manage.bat restart - Restart the Minecraft server
  • manage.bat status - Show server status
  • manage.bat logs - View live server logs
  • manage.bat backup - Create server data backup
  • manage.bat rcon [command] - Execute RCON command
  • manage.bat update - Update Docker images
  • manage.bat rebuild - Rebuild Docker images from scratch
  • manage.bat shell - Open server container shell

Examples

# Get help (also shown if no command provided)
manage.bat help

# Start the server
manage.bat start

# View live logs
manage.bat logs

# Execute commands
manage.bat rcon list
manage.bat rcon save-all
manage.bat rcon op playername

# Create backup
manage.bat backup

# Update server
manage.bat update

๐Ÿš€ Quick Start

๐Ÿš€ One-Command Setup (Windows)

PowerShell (Recommended):

# Download and run setup automatically
iwr -useb https://raw.githubusercontent.com/involvex/docker-minecraft-server/master/setup.ps1 | iex

Command Prompt:

# Download and run setup automatically
curl -o setup.bat https://raw.githubusercontent.com/involvex/docker-minecraft-server/master/setup.bat && setup.bat && manage.bat start

๐Ÿ“ฆ Manual Setup

PowerShell:

# Clone and setup the repository
git clone https://github.com/involvex/docker-minecraft-server.git
cd docker-minecraft-server
.\setup.ps1

Command Prompt:

REM Clone the repository
git clone https://github.com/involvex/docker-minecraft-server.git
cd docker-minecraft-server

REM Run setup
setup.bat

REM Start the server
manage.bat start

Manual Setup

Windows:

# Clone the repository
git clone https://github.com/involvex/docker-minecraft-server.git
cd docker-minecraft-server

# Run the setup script
setup.bat
# or
.\setup.ps1

# Manage the server (see all commands)
manage.bat help
manage.bat start
manage.bat logs
manage.bat rcon list
# or
.\manage.ps1 -Command help
.\manage.ps1 -Command start
.\manage.ps1 -Command logs

Linux/macOS:

# Clone the repository
git clone https://github.com/involvex/docker-minecraft-server.git
cd docker-minecraft-server

# Run the setup script
./setup.sh

# Manage the server
docker-compose up -d        # Start the server
docker-compose logs -f      # View logs
docker-compose down         # Stop the server
docker-compose ps           # Check status

๐Ÿ“Š Service Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚   Web Browser   โ”‚โ—„โ”€โ”€โ–บโ”‚  Web UI Flask   โ”‚โ—„โ”€โ”€โ–บโ”‚   RCON Client   โ”‚
โ”‚   (Port 8080)   โ”‚    โ”‚  (Port 8080)    โ”‚    โ”‚  (Port 25575)   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                โ”‚
                                โ–ผ
                       โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                       โ”‚ Minecraft Serverโ”‚
                       โ”‚  (Port 25565)   โ”‚
                       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ“ Project Structure

/
โ”œโ”€โ”€ docker-compose.yml          # Main service orchestration
โ”œโ”€โ”€ setup.bat                   # Windows batch setup script
โ”œโ”€โ”€ setup.ps1                   # Windows PowerShell setup script
โ”œโ”€โ”€ setup.sh                    # Linux/macOS bash setup script
โ”œโ”€โ”€ manage.bat                  # Windows batch management script
โ”œโ”€โ”€ manage.ps1                  # Windows PowerShell management script
โ”œโ”€โ”€ SETUP_GUIDE.md             # Comprehensive documentation
โ”œโ”€โ”€ README.md                  # This file
โ”œโ”€โ”€ MANAGEMENT.md              # Management commands documentation
โ”œโ”€โ”€ .env                       # Environment configuration (auto-generated)
โ”œโ”€โ”€ config/
โ”‚   โ”œโ”€โ”€ server.properties      # Server configuration template
โ”‚   โ”œโ”€โ”€ plugins/              # Plugin JAR files directory
โ”‚   โ””โ”€โ”€ plugin-configs/       # Plugin configurations
โ”œโ”€โ”€ webui/
โ”‚   โ”œโ”€โ”€ app.py               # Flask web application
โ”‚   โ”œโ”€โ”€ requirements.txt     # Python dependencies
โ”‚   โ”œโ”€โ”€ Dockerfile          # Web UI container definition
โ”‚   โ””โ”€โ”€ templates/          # HTML templates
โ””โ”€โ”€ logs/                   # Server logs mount point

๐Ÿ”ง Configuration

Environment Variables (.env)

RCON_PASSWORD=your_secure_password    # Change this!
WEBUI_SECRET_KEY=your_secret_key      # Change this!
SERVER_NAME=My Minecraft Server
MAX_MEMORY=4G
MAX_PLAYERS=20

Server Properties

server-name=My Minecraft Server
motd=Welcome to our server!
max-players=20
gamemode=survival
difficulty=normal
pvp=true
enable-rcon=true
rcon.port=25575
rcon.password=your_secure_password

๐ŸŒŸ Web Interface Highlights

Dashboard

  • Real-time Server Status: Live monitoring with status indicators
  • System Metrics: CPU, memory, and disk usage visualization
  • Quick Actions: One-click common commands (save, weather, time)
  • Player Overview: Current online players with management options

Console

  • Live Command Execution: Send RCON commands with instant results
  • Command History: Track all executed commands with timestamps
  • Real-time Output: WebSocket-powered live log streaming
  • Error Handling: Clear error messages and troubleshooting

Configuration Management

  • server.properties Editor: Full syntax highlighting and validation
  • Live Updates: Changes apply immediately without restart
  • Backup Protection: Automatic backup before modifications
  • Environment Integration: Edit environment variables through UI

Plugin Management

  • Plugin Repository: List all installed plugins
  • Upload Interface: Add new plugins via web upload
  • Status Monitoring: Check plugin loading and error states
  • Configuration: Direct access to plugin configuration files

๐Ÿ” Monitoring & Logs

Real-time Monitoring

  • Server Status: Online/offline with uptime tracking
  • Player Activity: Connection/disconnection notifications
  • Resource Usage: System resource monitoring
  • Performance Metrics: Tick rate and performance tracking

Log Management

  • Live Streaming: Real-time log feed through WebSocket
  • Log Search: Filter by date, level, player, or content
  • Export Functionality: Download logs for external analysis
  • Alert System: Notifications for critical events

๐Ÿ› ๏ธ Troubleshooting

Common Issues

Server won't start:

docker-compose logs minecraft
# Check port availability and configuration

Web UI not accessible:

docker-compose logs minecraft-webui
# Verify port mapping and network connectivity

RCON connection failed:

docker-compose exec minecraft rcon-cli -a localhost -p 25575 list
# Check RCON configuration and password

Debug Commands

# View all logs
docker-compose logs -f

# Check service status
docker-compose ps

# Execute commands in containers
docker-compose exec minecraft bash
docker-compose exec minecraft-webui bash

# Test RCON connectivity
docker-compose exec minecraft rcon-cli list

๐Ÿ“ˆ Performance Optimization

Recommended Settings

  • Memory: 4GB minimum, 8GB recommended
  • CPU: 2+ cores for smooth operation
  • Storage: SSD recommended for world data
  • Network: Stable internet connection for players

Tuning Options

# Performance environment variables
VIEW_DISTANCE=15
SIMULATION_DISTANCE=15
MAX_BUILD_HEIGHT=256
MAX_TICK_TIME=60000

๐Ÿ”„ Maintenance

Regular Tasks

  1. Daily: Check server logs and player activity
  2. Weekly: Update plugins and monitor performance
  3. Monthly: Full backup and security review
  4. Quarterly: System updates and optimization

Backup Strategy

# Manual backup
docker-compose exec minecraft tar -czf /backups/backup-$(date +%Y%m%d).tar.gz /data

# Automated backup (add to crontab)
0 2 * * * docker-compose exec minecraft /usr/bin/backup.sh

๐ŸŽฏ API Reference

Endpoints

  • GET /api/status - Server status and player count
  • GET /api/players - Online and historical player data
  • GET /api/logs - Server logs with filtering
  • POST /api/command - Execute RCON commands
  • GET /api/config - Get server configuration
  • POST /api/config - Update server configuration
  • GET /api/plugins - List installed plugins

WebSocket Events

  • status_update - Real-time server status changes
  • player_update - Player connection/disconnection
  • command_output - Command execution results
  • log_data - Live log streaming

๐Ÿค Supporting the Project

๐Ÿ’– Support Our Work

This project is maintained by the community, for the community. Your support helps us continue development, maintain infrastructure, and add new features to make Minecraft server management even better.

โ˜• Funding Options

Buy Me a Coffee:
Fuel our development with a coffee! Every cup helps us code longer and build better features.

Buy Me a Coffee

GitHub Sponsors:
Sponsor our work on GitHub and get recognized as a supporter of open source Minecraft tools.

GitHub Sponsors

๐ŸŒŸ Other Ways to Help

  • ๐Ÿ› Report Bugs: Help us identify and fix issues
  • ๐Ÿ’ป Contribute Code: Submit pull requests for new features or improvements
  • ๐Ÿ“– Improve Documentation: Help make our guides clearer and more comprehensive
  • ๐Ÿ†˜ Help Others: Support fellow users in issues and discussions
  • โญ Star the Project: Show your appreciation by starring our repository

๐Ÿค Contributing

This project provides a complete foundation for Minecraft server management. The web UI is built with modern technologies and can be extended with additional features:

  • Authentication System: Add user accounts and permissions
  • Advanced Monitoring: Charts and analytics dashboard
  • Plugin Store: Integrated plugin marketplace
  • Multi-server Support: Manage multiple Minecraft servers
  • Mobile App: React Native or Flutter mobile interface

๐Ÿ“„ License

This project is open source and available under the MIT License.

๐ŸŽฎ Happy Mining!

Your Minecraft server is now equipped with a professional-grade web management interface. Enjoy the convenience of managing your server from anywhere with a web browser!

Quick Links:

  • ๐ŸŒ Web Interface: http://localhost:8080
  • ๐ŸŽฎ Minecraft Server: localhost:25565
  • ๐Ÿ“– Full Documentation: SETUP_GUIDE.md

About

Docker image that provides a Minecraft Server for Java Edition that automatically installs/upgrades versions, modloaders, modpacks and more at startup

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 55.4%
  • HTML 23.6%
  • Python 13.6%
  • PowerShell 3.2%
  • Batchfile 2.2%
  • Dockerfile 1.6%
  • Mermaid 0.4%