This repository lets you deploy a high-performance Minecraft server (Java & Bedrock) on your Proxmox host in minutes.
Designed for both VMs and LXC containers, it provides easy CLI-first installation, automated backups, and update scripts.
Perfect for self-hosters, gaming communities, and homelab enthusiasts!
β No build workflow present
For automated tests or deployment, please addmain.yml
to.github/workflows/
.
Requirements:
Proxmox host, Ubuntu 24.04 LTS or Debian 11/12 guest (VM or CT).
wget https://raw.githubusercontent.com/TimInTech/minecraft-server-Proxmox/main/setup_minecraft.sh
chmod +x setup_minecraft.sh
./setup_minecraft.sh
Open console:
screen -r minecraft
sudo tee /etc/netplan/01-mc.yaml >/dev/null <<'YAML'
network:
version: 2
ethernets:
ens18:
addresses: [192.168.1.50/24]
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses: [1.1.1.1,8.8.8.8]
YAML
sudo netplan apply
Then run the installer as above.
wget https://raw.githubusercontent.com/TimInTech/minecraft-server-Proxmox/main/setup_minecraft_lxc.sh
chmod +x setup_minecraft_lxc.sh
./setup_minecraft_lxc.sh
Open console:
screen -r minecraft
wget https://raw.githubusercontent.com/TimInTech/minecraft-server-Proxmox/main/setup_bedrock.sh
chmod +x setup_bedrock.sh
./setup_bedrock.sh
Open console:
screen -r bedrock
Backup worlds and server files before updates! Choose systemd or cron.
sudo tee /etc/mc_backup.conf >/dev/null <<'EOF'
MC_SRC_DIR=/opt/minecraft
MC_BEDROCK_DIR=/opt/minecraft-bedrock
BACKUP_DIR=/var/backups/minecraft
RETAIN_DAYS=7
EOF
sudo tee /etc/systemd/system/mc-backup.service >/dev/null <<'EOF'
[Unit]
Description=Minecraft backup (tar)
[Service]
Type=oneshot
EnvironmentFile=/etc/mc_backup.conf
ExecStart=/bin/mkdir -p "${BACKUP_DIR}"
ExecStart=/bin/bash -c 'tar -czf "${BACKUP_DIR}/java-$(date +%%F).tar.gz" "${MC_SRC_DIR}"'
ExecStart=/bin/bash -c '[ -d "${MC_BEDROCK_DIR}" ] && tar -czf "${BACKUP_DIR}/bedrock-$(date +%%F).tar.gz" "${MC_BEDROCK_DIR}" || true'
EOF
sudo tee /etc/systemd/system/mc-backup.timer >/dev/null <<'EOF'
[Unit]
Description=Nightly Minecraft backup
[Timer]
OnCalendar=*-*-* 03:30:00
Persistent=true
[Install]
WantedBy=timers.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now mc-backup.timer
On-demand:
sudo systemctl start mc-backup.service
crontab -e
30 3 * * * tar -czf /var/backups/minecraft/mc-$(date +\%F).tar.gz /opt/minecraft
45 3 * * * tar -czf /var/backups/minecraft/bedrock-$(date +\%F).tar.gz /opt/minecraft-bedrock
Java Edition:
cd /opt/minecraft
./update.sh
Cron:
crontab -e
0 4 * * 0 /opt/minecraft/update.sh >> /var/log/minecraft-update.log 2>&1
Bedrock requires manual download from Mojang (
bedrock_helper.sh
gives reminder message).
/etc/mc_backup.conf
MC_SRC_DIR
: Java server path (/opt/minecraft
)MC_BEDROCK_DIR
: Bedrock server path (/opt/minecraft-bedrock
)BACKUP_DIR
: Backup target (/var/backups/minecraft
)RETAIN_DAYS
: Retention days
JVM memory (Java)
Edit /opt/minecraft/start.sh
:
#!/bin/bash
java -Xms2G -Xmx4G -jar server.jar nogui
Small: -Xms1G -Xmx2G
, Medium: -Xms2G -Xmx4G
.
Firewall
sudo ufw allow 25565/tcp # Java
sudo ufw allow 19132/udp # Bedrock
sudo ufw enable
Optional: systemd service (Java)
sudo cp minecraft.service /etc/systemd/system/minecraft.service
sudo systemctl daemon-reload
sudo systemctl enable --now minecraft
See SERVER_COMMANDS.md for operator setup, screen
usage, and common commands.
- Java 21 unavailable on Debian 11 β falls back to OpenJDK 17.
- Missing
start.sh
β recreate as shown above andchmod +x start.sh
. - Permission issues β ensure ownership of
/opt/minecraft*
or usesudo
.
- Open an issue
- Submit a Pull Request
- PaperMC: https://papermc.io/
- Mojang Bedrock Downloads: https://www.minecraft.net/en-us/download/server/bedrock
- Proxmox Docs: https://pve.proxmox.com/wiki/Main_Page