Minecraft Server Hosting is a Scam – How to Properly Host a Minecraft Server
An 8GB hosted server can cost up to $40 a month. I run mine on a secondhand office PC that cost less than three months of hosting. Here's exactly how I set it up.
An 8GB hosted server can cost up to $40 a month. I run mine on a secondhand office PC that cost less than three months of hosting. Here's exactly how I set it up.
Pick the PC
Minecraft servers lean heavily on one CPU core, so a fast older CPU beats a slow one with lots of cores. You don't need a graphics card.
The best value is ex-corporate small form factor PCs: Dell OptiPlex, Lenovo ThinkCentre or HP EliteDesk. They're cheap, quiet and built to run all day.
Part | Look for | Why |
|---|---|---|
CPU | Intel 8th gen i5 or newer, or Ryzen equivalent | Single-core speed keeps the game smooth |
RAM | 8GB minimum, 16GB ideal | 4–6GB for Minecraft, the rest for the OS and future services |
Storage | Any SSD, 128GB+ | Loading chunks off a hard drive is painfully slow |
Network | Gigabit Ethernet | Always plug it in — no Wi-Fi |
GPU | Not needed | The server renders nothing |
Install Ubuntu Server
Download Ubuntu Server LTS.
Flash it to a USB with Rufus.
Boot the PC from the USB (F12 on most Dells).
Use the whole disk, and tick Install OpenSSH server.
After it reboots, log in and note the IP address:
ip aLook for the 192.168.x.x address. Then set a DHCP reservation for this PC in your router so the IP never changes. You'll need that for port forwarding.
Connect over SSH
From your main computer, open Terminal (Mac/Linux) or PowerShell (Windows):
ssh yourname@192.168.x.xUpdate everything:
sudo apt update && sudo apt upgrade -yYou can unplug the monitor and keyboard now. Everything from here happens over SSH.
Install Docker
Docker runs each app in its own container. No dependency mess, and if something breaks, you delete the container and start again.
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USERLog out and back in, then test it:
docker run hello-worldStart the Minecraft server
I use the itzg/minecraft-server image. It's the most popular one and handles the setup for you.
mkdir minecraft && cd minecraft
nano docker-compose.ymlPaste this in:
services:
mc:
image: itzg/minecraft-server
container_name: minecraft
ports:
- "25565:25565"
environment:
EULA: "TRUE"
TYPE: "PAPER"
VERSION: "LATEST"
MEMORY: "6G"
volumes:
- ./data:/data
restart: unless-stopped
tty: true
stdin_open: trueEULAaccepts Minecraft's licence.PAPERis a performance-tuned server — noticeably smoother than vanilla on old hardware.MEMORYis the RAM Minecraft gets. Leave 2GB for the system../datastores your world, so it survives restarts and updates.
Start it and watch the logs:
docker compose up -d
docker logs -f minecraftWhen you see Done, join from your gaming PC using the server's local IP. Press Ctrl+C to stop watching the logs — the server keeps running.
Let friends in
In your router, forward TCP port 25565 to the server's reserved IP. Then give friends your public IP (search "what is my IP").
Turn on the whitelist so only people you add can join:
docker exec -i minecraft rcon-cli whitelist on
docker exec -i minecraft rcon-cli whitelist add FriendNameWhat's next
Look at what you just did: installed Linux, managed it remotely, deployed an app with Docker and opened it to the internet. That's the foundation of a homelab.
The same compose file works for almost anything. Swap the image and you've got:
Jellyfin — your own Netflix for your media.
Immich — your own Google Photos.
Pi-hole — ad blocking for every device on your network.
All of them can run on this same box, right next to your Minecraft server. Tell me what you want to self-host next in the YouTube comments.