Create minecraft-compose.yaml:
services:
mc-survival:
container_name: mc-survival
image: itzg/minecraft-server:latest
environment:
TYPE: FABRIC
SERVER_NAME: MyServer
MOTD: Dockerized Minecraft!
SERVER_PORT: 25565
SEED: -2472515894149419506
MODE: survival
DIFFICULTY: normal
VERSION: 1.21.10
MEMORY: 4G
VIEW_DISTANCE: 10
SIMULATION_DISTANCE: 10
MODRINTH_PROJECTS: |
fabric-api
easyauth
easywhitelist
skinrestorer
chunky
lithium
scalablelux
c2me-fabric
ONLINE_MODE: false
ENFORCE_SECURE_PROFILE: false
ENABLE_WHITELIST: true
RCON_CMDS_STARTUP: |-
easywhitelist add PlayerName1
easywhitelist add PlayerName2
EULA: true
network_mode: host
volumes:
- mc-survival-data:/data
restart: unless-stopped
volumes:
mc-survival-data:
name: mc-survival-dataTo install and run:
sudo docker compose --file minecraft-compose.yaml up --detachTo stop:
sudo docker compose --file minecraft-compose.yaml stopTo start again:
sudo docker compose --file minecraft-compose.yaml startTo execute command on server:
sudo docker exec --interactive --tty mc-survival rcon-cli <COMMAND>- Or alternatively:
sudo docker exec --interactive --tty mc-survival bash
rcon-cli <COMMAND>Quotes must be escaped in commands, for example:
sudo docker exec --interactive --tty mc-survival rcon-cli skin set web classic \"https://link/to/skin.png\" PlayerName1