diff --git a/Jenkinsfile b/Jenkinsfile index 8b0f4ef..2c17776 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -345,9 +345,11 @@ pipeline { if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then cd ${TEMPDIR}/unraid/templates/ if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then - echo "Image is on the ignore list, removing Unraid template" - git rm unraid/${CONTAINER_NAME}.xml || : - git commit -m 'Bot Removing Deprecated Unraid Template' || : + echo "Image is on the ignore list, marking Unraid template as deprecated" + cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/ + git add -u unraid/${CONTAINER_NAME}.xml + git mv unraid/${CONTAINER_NAME}.xml unraid/deprecated/${CONTAINER_NAME}.xml || : + git commit -m 'Bot Moving Deprecated Unraid Template' || : else cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/ git add unraid/${CONTAINER_NAME}.xml diff --git a/README.md b/README.md index 7008ab9..3354828 100644 --- a/README.md +++ b/README.md @@ -46,22 +46,26 @@ Find us at: ## Supported Architectures -Our images support multiple architectures such as `x86-64`, `arm64` and `armhf`. We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/). +We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/). -Simply pulling `lscr.io/linuxserver/minetest` should retrieve the correct image for your arch, but you can also pull specific arch images via tags. +Simply pulling `lscr.io/linuxserver/minetest:latest` should retrieve the correct image for your arch, but you can also pull specific arch images via tags. The architectures supported by this image are: -| Architecture | Tag | -| :----: | --- | -| x86-64 | amd64-latest | -| arm64 | arm64v8-latest | -| armhf | arm32v7-latest | +| Architecture | Available | Tag | +| :----: | :----: | ---- | +| x86-64 | ✅ | amd64-\ | +| arm64 | ✅ | arm64v8-\ | +| armhf| ✅ | arm32v7-\ | ## Application Setup You can find the world maps, mods folder and config files in /config/.minetest. +If you want to override the advertised port, ensure you add --port in your CLI_ARGS AND ensure the internal port reflects the change, ie; +if you set your advertised port to 40000 with --port 40000 then your ports declaration should be 40000:40000/udp + + Client and server must be the same version, please browse the tags here to pull the appropriate version for your server: https://hub.docker.com/r/linuxserver/minetest/tags @@ -77,13 +81,13 @@ Here are some example snippets to help you get started creating a container. version: "2.1" services: minetest: - image: lscr.io/linuxserver/minetest + image: lscr.io/linuxserver/minetest:latest container_name: minetest environment: - PUID=1000 - PGID=1000 - TZ=Europe/London - - CLI_ARGS="--gameid minetest" #optional + - CLI_ARGS="--gameid minetest --port 30000" #optional volumes: - /path/to/data:/config/.minetest ports: @@ -99,11 +103,11 @@ docker run -d \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Europe/London \ - -e CLI_ARGS="--gameid minetest" `#optional` \ + -e CLI_ARGS="--gameid minetest --port 30000" `#optional` \ -p 30000:30000/udp \ -v /path/to/data:/config/.minetest \ --restart unless-stopped \ - lscr.io/linuxserver/minetest + lscr.io/linuxserver/minetest:latest ``` ## Parameters @@ -116,7 +120,7 @@ Container images are configured using parameters passed at runtime (such as thos | `-e PUID=1000` | for UserID - see below for explanation | | `-e PGID=1000` | for GroupID - see below for explanation | | `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London. | -| `-e CLI_ARGS="--gameid minetest"` | Optionally specify any [CLI variables](https://wiki.minetest.net/Command_line) you want to launch the app with | +| `-e CLI_ARGS="--gameid minetest --port 30000"` | Optionally specify any [CLI variables](https://wiki.minetest.net/Command_line) you want to launch the app with | | `-v /config/.minetest` | Where minetest stores config files and maps etc. | ## Environment variables from files (Docker secrets) @@ -162,7 +166,7 @@ We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to * container version number * `docker inspect -f '{{ index .Config.Labels "build_version" }}' minetest` * image version number - * `docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/minetest` + * `docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/minetest:latest` ## Updating Info @@ -180,7 +184,7 @@ Below are the instructions for updating containers: ### Via Docker Run -* Update the image: `docker pull lscr.io/linuxserver/minetest` +* Update the image: `docker pull lscr.io/linuxserver/minetest:latest` * Stop the running container: `docker stop minetest` * Delete the container: `docker rm minetest` * Recreate a new container with the same docker run parameters as instructed above (if mapped correctly to a host folder, your `/config` folder and settings will be preserved) @@ -228,6 +232,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 ## Versions +* **02.05.22:** - Allow specifying the advertised port. * **17.03.22:** - Install forked irrlicht, add zstd. * **19.01.22:** - Rebasing to alpine 3.15. * **02.06.20:** - Rebasing to alpine 3.12. diff --git a/readme-vars.yml b/readme-vars.yml index 8ae83b7..242856d 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -36,7 +36,7 @@ cap_add_param: false # optional container parameters opt_param_usage_include_env: true opt_param_env_vars: - - { env_var: "CLI_ARGS", env_value: "\"--gameid minetest\"", desc: "Optionally specify any [CLI variables](https://wiki.minetest.net/Command_line) you want to launch the app with" } + - { env_var: "CLI_ARGS", env_value: "\"--gameid minetest --port 30000\"", desc: "Optionally specify any [CLI variables](https://wiki.minetest.net/Command_line) you want to launch the app with" } # application setup block @@ -44,11 +44,16 @@ app_setup_block_enabled: true app_setup_block: | You can find the world maps, mods folder and config files in /config/.minetest. + If you want to override the advertised port, ensure you add --port in your CLI_ARGS AND ensure the internal port reflects the change, ie; + if you set your advertised port to 40000 with --port 40000 then your ports declaration should be 40000:40000/udp + + Client and server must be the same version, please browse the tags here to pull the appropriate version for your server: https://hub.docker.com/r/linuxserver/{{ project_name }}/tags # changelog changelogs: + - { date: "02.05.22:", desc: "Allow specifying the advertised port."} - { date: "17.03.22:", desc: "Install forked irrlicht, add zstd." } - { date: "19.01.22:", desc: "Rebasing to alpine 3.15." } - { date: "02.06.20:", desc: "Rebasing to alpine 3.12." } diff --git a/root/etc/services.d/minetest/run b/root/etc/services.d/minetest/run index b842bc6..8845bd8 100644 --- a/root/etc/services.d/minetest/run +++ b/root/etc/services.d/minetest/run @@ -1,5 +1,5 @@ #!/usr/bin/with-contenv bash exec \ - s6-setuidgid abc minetestserver ${CLI_ARGS} \ - --config /config/.minetest/main-config/minetest.conf --port 30000 + s6-setuidgid abc minetestserver --port 30000 \ + --config /config/.minetest/main-config/minetest.conf ${CLI_ARGS}