Utility to use in a Jenkins job to download the latest paper and prepare some development and deployment tools
Dockerfile | ||
Jenkinsfile | ||
Readme.md | ||
run.sh |
PaperDockerBuilder
Jenkins pipeline to build a Docker image of Paper.
Dockerfile # used to build the Docker image
Jenkinsfile # the pipeline file
Readme.md # you are reading this file
run.sh # entrypoint of the Docker image
Pipeline process
- Fetches the information about the latest build of Paper for the provided MC version, from the PaperMC API
- Downloads the Paper jar file.
- Builds the docker image with the downloaded jar and the entrypoint script, ensuring libraries are downloaded and Paper patch is applied.
- Pushes the image to the container registry with the tags
$mc_version
(e.g.1.20.1
) and$mc_version-$paper_build
(e.g.1.20.1-196
)
Docker Compose Example
version: "3"
services:
paper:
image: "cr.pandacube.fr/paper:(version)"
container_name: (server name)
stdin_open: true # docker run -i
tty: true # docker run -t
user: "1000:1000" # uid and gid of owner of working dir
environment:
- MAXMEM=2048M # Java max heap size
restart: always
volumes:
- .:/data/workdir
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "0.0.0.0:(port):25565"