Skip to content

Instantly share code, notes, and snippets.

@SCP002
Last active December 26, 2025 11:37
Show Gist options
  • Select an option

  • Save SCP002/25fadc76531bb879ddea6d2f60815ece to your computer and use it in GitHub Desktop.

Select an option

Save SCP002/25fadc76531bb879ddea6d2f60815ece to your computer and use it in GitHub Desktop.
Minecraft: Run fabric server in offline mode with whitelist and authentication in docker container.

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-data

To install and run:

sudo docker compose --file minecraft-compose.yaml up --detach

To stop:

sudo docker compose --file minecraft-compose.yaml stop

To start again:

sudo docker compose --file minecraft-compose.yaml start

To 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment