binhex-minecraftserver

binhex-minecraftserver

Docker app from Binhex's Repository

Overview

Minecraft is a sandbox video game created by Swedish game developer Markus Persson and released by Mojang in 2011. The game allows players to build with a variety of different blocks in a 3D procedurally generated world, requiring creativity from players. Other activities in the game include exploration, resource gathering, crafting, and combat. Multiple game modes that change gameplay are available, including—but not limited to—a survival mode, in which players must acquire resources to build the world and maintain health, and a creative mode, where players have unlimited resources to build with.

Application

Minecraft Server

Description

Minecraft is a sandbox video game created by Swedish game developer Markus Persson and released by Mojang in 2011. The game allows players to build with a variety of different blocks in a 3D procedurally generated world, requiring creativity from players. Other activities in the game include exploration, resource gathering, crafting, and combat. Multiple game modes that change gameplay are available, including—but not limited to—a survival mode, in which players must acquire resources to build the world and maintain health, and a creative mode, where players have unlimited resources to build with.

Build notes

Latest stable Minecraft Java release from Mojang.

Usage

docker run -d \
    -p <host port>:8222/tcp \
    -p <host port>:25565 \
    --name=<container name> \
    -v <path for config files>:/config \
    -v /etc/localtime:/etc/localtime:ro \
    -e CREATE_BACKUP_HOURS=<frequency of world backups in hours> \
    -e PURGE_BACKUP_DAYS=<specify oldest world backups to keep in days> \
    -e ENABLE_WEBUI_CONSOLE=<yes|no> \
    -e ENABLE_WEBUI_AUTH=<yes|no> \
    -e WEBUI_USER=<specify webui username> \
    -e WEBUI_PASS=<specify webui password> \
    -e WEBUI_CONSOLE_TITLE=<specify webui console title> \
    -e CUSTOM_JAR_PATH=<path to custom jar> \
    -e JAVA_VERSION=<8|11|17|21|latest> \
    -e JAVA_INITIAL_HEAP_SIZE=<java initial heap size in megabytes> \
    -e JAVA_MAX_HEAP_SIZE=<java max heap size in megabytes> \
    -e JAVA_MAX_THREADS=<java max number of threads> \
    -e JAVA_CUSTOM_ARGS=<java custom arguments> \
    -e STARTUP_CMD=<minecraft console command to execute on startup> \
    -e HEALTHCHECK_COMMAND=<command> \
    -e HEALTHCHECK_ACTION=<action> \
    -e HEALTHCHECK_HOSTNAME=<hostname> \
    -e UMASK=<umask for created files> \
    -e PUID=<uid for user> \
    -e PGID=<gid for user> \
    binhex/arch-minecraftserver

Please replace all user variables in the above command defined by <> with the correct values.

Access Minecraft Server console

Requires -e ENABLE_WEBUI_CONSOLE=yes

http://<host ip>:8222

Example

docker run -d \
    -p 8222:8222/tcp \
    -p 25565:25565 \
    --name=minecraftserver \
    -v /apps/docker/minecraftserver:/config \
    -v /etc/localtime:/etc/localtime:ro \
    -e CREATE_BACKUP_HOURS=12 \
    -e PURGE_BACKUP_DAYS=14 \
    -e ENABLE_WEBUI_CONSOLE=yes \
    -e ENABLE_WEBUI_AUTH=yes \
    -e WEBUI_USER=admin \
    -e WEBUI_PASS=minecraft \
    -e WEBUI_CONSOLE_TITLE='Minecraft Server' \
    -e CUSTOM_JAR_PATH=/config/minecraft/paperclip.jar \
    -e JAVA_VERSION=latest \
    -e JAVA_INITIAL_HEAP_SIZE=512M \
    -e JAVA_MAX_HEAP_SIZE=1024M \
    -e JAVA_MAX_THREADS=1 \
    -e JAVA_CUSTOM_ARGS='' \
    -e STARTUP_CMD='gamerule reducedDebugInfo true' \
    -e UMASK=000 \
    -e PUID=0 \
    -e PGID=0 \
    binhex/arch-minecraftserver

Notes

If you do NOT want world backups and/or purging of backups then set the value to '0' for env vars 'CREATE_BACKUP_HOURS' and/or 'PURGE_BACKUP_DAYS'.

Env var 'CUSTOM_JAR_PATH' is optional and allows you to define a specific jar to run, if not specified then the latest Mojang Minecraft jar will be used.

Env vars 'JAVA_INITIAL_HEAP_SIZE' value and 'JAVA_MAX_HEAP_SIZE' values must be a multiple of 1024 and greater than 2MB.

User ID (PUID) and Group ID (PGID) can be found by issuing the following command for the user you want to run the container as:-

id <username>

If you appreciate my work, then please consider buying me a beer :D

PayPal donation

Documentation | Support forum

Install binhex-minecraftserver on Unraid in a few clicks.

Find binhex-minecraftserver in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for binhex-minecraftserver Review the template variables and paths Click Install

Categories

Download Statistics

1,607,486
Total Downloads
3,486
This Month
2,040
Avg / Month

Total Downloads Over Time

Loading chart...

Related apps

Explore more like this

Explore all

Details

Repository
ghcr.io/binhex/arch-minecraftserver
Last Updated2026-06-16
First Seen2019-11-05

Runtime arguments

Web UI
http://[IP]:[PORT:8222]
Network
bridge
Shell
bash
Privileged
false
Extra Params
--restart=unless-stopped

Template configuration

Port: Web InterfacePorttcp

This is the Web UI port for the console.

Target
8222
Default
8222
Port: Minecraft Server connection (TCP)Porttcp

Minecraft Server connection (TCP).

Target
25565
Default
25565
Port: Minecraft Server connection (UDP)Portudp

Minecraft Server connection (UDP).

Target
25565
Default
25565
Path: /configPathrw

This is the container path to your configuration files, e.g. databases, configuration files, logs etc.

Target
/config
Default
/mnt/user/appdata/minecraftbedrockserver
Variable: CREATE_BACKUP_HOURSVariable

Specify the hour in 24 hour format to perform the backup.

Target
CREATE_BACKUP_HOURS
Default
12
Variable: PURGE_BACKUP_DAYSVariable

Specify the number of days before a backup is considered for purging.

Target
PURGE_BACKUP_DAYS
Default
14
Variable: ENABLE_WEBUI_CONSOLEVariable

Specify whether you want to enable the Web UI console.

Target
ENABLE_WEBUI_CONSOLE
Default
yes|no
Variable: ENABLE_WEBUI_AUTHVariable

Specify whether you want authentication prompts when connecting to the Web UI console.

Target
ENABLE_WEBUI_AUTH
Default
yes|no
Variable: WEBUI_USERVariable

Specify the Web UI username.

Target
WEBUI_USER
Default
admin
Variable: WEBUI_PASSVariable

Specify the Web UI password.

Target
WEBUI_PASS
Default
admin
Variable: WEBUI_CONSOLE_TITLEVariable

Specify the Web UI console title.

Target
WEBUI_CONSOLE_TITLE
Default
Minecraft Java Server
Variable: CUSTOM_JAR_PATHVariable

Specify the absolute path to custom Jar.

Target
CUSTOM_JAR_PATH
Default
/config/minecraft/minecraft_server.jar
Variable: JAVA_VERSIONVariable

Specify the version of Java Runtime.

Target
JAVA_VERSION
Default
latest|21|17|11|8
Variable: JAVA_INITIAL_HEAP_SIZEVariable

Specify the initial Java Heap size in MB.

Target
JAVA_INITIAL_HEAP_SIZE
Default
512M
Variable: JAVA_MAX_HEAP_SIZEVariable

Specify the maximum Java Heap size in MB.

Target
JAVA_MAX_HEAP_SIZE
Default
1024M
Variable: JAVA_MAX_THREADSVariable

Specify the maximum number of Java threads.

Target
JAVA_MAX_THREADS
Default
1
Variable: JAVA_CUSTOM_ARGSVariable

Specify custom Java arguments.

Target
JAVA_CUSTOM_ARGS
Variable: STARTUP_CMDVariable

Specify the Minecraft command you want to run on startup of the server.

Target
STARTUP_CMD
Variable: ENABLE_HEALTHCHECKVariable

Enable or disable healthchecks.

Target
ENABLE_HEALTHCHECK
Default
yes|no
Variable: HEALTHCHECK_COMMANDVariable

The command or script to execute, if not specified then the script healthcheck.sh will be used (process, dns and https checking).

Target
HEALTHCHECK_COMMAND
Variable: HEALTHCHECK_ACTIONVariable

The action to execute if the healthcheck command returns a non zero exit code, if not specified the action will be 'exit 1', if you want the container to exit on failure then set the action to 'kill 1'.

Target
HEALTHCHECK_ACTION
Variable: HEALTHCHECK_HOSTNAMEVariable

The hostname used when performing HTTPS and DNS healthchecking.

Target
HEALTHCHECK_HOSTNAME
Default
google.com
Variable: PUIDVariable

User ID for the running container

Target
PUID
Default
99
Variable: PGIDVariable

Group ID for the running container

Target
PGID
Default
100
Variable: UMASKVariable

UMASK for the running container

Target
UMASK
Default
000