Spin up your own Minecraft server in minutes with Docker! Perfect for that spontaneous 2-week Minecraft phase with your friends. No hassle, just fun.
git clone git@github.com:aFlamee/easy-minecraft-server.git
cd easy-minecraft-serverCreate a .env file:
RCON_PASSWORD=<your-secure-password>🔒 Use a strong password. Generate one here
docker compose up -dBoom. Your Minecraft server is up on port 999.
minecraftserver1/
├── docker-compose.yml # Docker config
├── server.properties # Minecraft settings
├── whitelist.sh # Whitelist helper script
├── .env # RCON password (not versioned)
├── world/ # Minecraft world folder
└── README.md # You're reading it
-
Minecraft Version: 1.21.5 (Java 21)
-
Memory: 15GB RAM
-
Ports:
999:25565(Game, you can start multiple servers with different ports)25575:25575(RCON)
-
Restarts on reboot
- Game Mode: Survival
- Difficulty: Easy
- Max Players: 20
- PvP: On
- Whitelist: On (Security!)
Use RCON to run commands from outside the game:
- Ban/kick players
- Change settings
- Reload whitelist
Set the password in .env and you’re good.
Only players on the whitelist can join.
./whitelist.sh add MC_PlayerName
./whitelist.sh remove MC_PlayerName
./whitelist.sh list
./whitelist.sh reload✅ Make sure to add yourself too!
- ✅ Only real accounts allowed
- ✅ Skins work
- 🔒 Secure
- ❌ Cracked clients blocked
- ✅ Cracked clients can join
- ❌ No skins
⚠️ Less secure (name spoofing possible)
Change it in server.properties:
online-mode=falseRestart the server afterwards:
docker compose restartA new world is created automatically in world/.
docker compose down
rm -rf world/
cp -r your-old-world/ world/
docker compose up -ddocker compose down
cp -r world/ backup-$(date +%Y%m%d)/
docker compose up -d- Check status:
docker compose ps - View logs:
docker compose logs -f mc - Stop server:
docker compose down - Restart server:
docker compose restart - Shell access:
docker compose exec mc bash
- Check logs:
docker compose logs mc .envfile missing?- Ports in use?
- Whitelist okay?
./whitelist.sh list - Added friends?
./whitelist.sh add PlayerName - Firewall open for port 999?
- Increase
MEMORYindocker-compose.yml - Lower
view-distanceinserver.properties
Built with ❤️ for everyone 🙌 Enjoy!