39 lines
1.2 KiB
Markdown
39 lines
1.2 KiB
Markdown
# GeyserDockerBuilder
|
|
|
|
Jenkins pipeline to build a Docker image of Geyser Standalone.
|
|
|
|
```bash
|
|
build.sh # the old pipeline script, not used anymore
|
|
Dockerfile # used to build the image
|
|
Jenkinsfile # the new pipeline script
|
|
Readme.md # you are reading this file
|
|
run.sh # entrypoint of the docker image
|
|
```
|
|
|
|
## Pipeline process
|
|
|
|
- Fetches the information about the latest build of Geyser (version, build number), from the [GeyserMC API](https://download.geysermc.org/v2/projects)
|
|
- Downloads the Geyser Standalone jar file.
|
|
- Builds the docker image with the downloaded jar and the entrypoint script.
|
|
- Pushes the image to the container registry with the tags `latest` and `$geyser_version-$geyser_build` (e.g. `2.2.0-408`)
|
|
|
|
## Docker Compose Example
|
|
|
|
```yml
|
|
version: "3"
|
|
services:
|
|
geyser:
|
|
image: "cr.pandacube.fr/geyser:latest"
|
|
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):19132/udp"
|
|
``` |