Skip to content

Setting up your Docker World

First and foremost, we need to setup Docker. We recommend following the already detailed guides on deploying Docker found on Docker Docs as a great introduction to the subject.

If you already have a minecraft server running Spigot then you can skip this section and jump straight into the Splunk App Setup or Download the Splunk App from Splunkbase and get right into it!

Docker Image Basics

The base Docker image is based on the Ashdev Docker Spigot image. This image allows us to, essentially, unpack and build the version of Spigot / Bukkit we want for the Minecraft Addon. The code has been tested as working on Minecraft version 1.12.x - 1.16.3 once compiled against the correct library version.

Utiling the below dockerfile yml template we can define a starting framework for the Docker deployment including port mapping for Client Access, persistence of the volumes and IP management.

version: "3"

services:
  minecraft-java:
    hostname: minecraft-java
    image: ashdev/docker-spigot:latest
    env_file: /var/data/config/minecraft-java/minecraft-java.env
    volumes:
        - /var/data/minecraft-java:/minecraft
    deploy:
    networks:
      - public
      - internal
    ports:
      - "25565:25565"
      - "25565:25565/udp"
      - "1390:1390"

networks:
  public:
    external: true
  internal:
    driver: overlay
    ipam:
      config:
        - subnet: 10.0.42.0/24

Persisting the volume is required for our logging and our Splunk data collection to work effectively. Logs will be writted to the minecraft-java/logs/event.log file.

Installing the Splunk Bukkit Plugin

With your persisted volume defined; we can pre-locate the appropriate plugin version into a plugins folder pre-created in this located as the packaged .jar file. On startup; the docker image will deploy spigot structure and unpack the jar file.

Builds of the Plugin can be found on 13Fields Github for each of the Minecraft versions