Merge pull request #44 from drizuid/advertised-port-fix

Allow advertised port to be set properly
This commit is contained in:
aptalca 2022-05-03 09:49:43 -04:00 committed by GitHub
commit e496264ed8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 32 additions and 20 deletions

8
Jenkinsfile vendored
View File

@ -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 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/ cd ${TEMPDIR}/unraid/templates/
if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then
echo "Image is on the ignore list, removing Unraid template" echo "Image is on the ignore list, marking Unraid template as deprecated"
git rm unraid/${CONTAINER_NAME}.xml || : cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
git commit -m 'Bot Removing Deprecated Unraid Template' || : 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 else
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/ cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
git add unraid/${CONTAINER_NAME}.xml git add unraid/${CONTAINER_NAME}.xml

View File

@ -46,22 +46,26 @@ Find us at:
## Supported Architectures ## 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: The architectures supported by this image are:
| Architecture | Tag | | Architecture | Available | Tag |
| :----: | --- | | :----: | :----: | ---- |
| x86-64 | amd64-latest | | x86-64 | ✅ | amd64-\<version tag\> |
| arm64 | arm64v8-latest | | arm64 | ✅ | arm64v8-\<version tag\> |
| armhf | arm32v7-latest | | armhf| ✅ | arm32v7-\<version tag\> |
## Application Setup ## Application Setup
You can find the world maps, mods folder and config files in /config/.minetest. 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: 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 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" version: "2.1"
services: services:
minetest: minetest:
image: lscr.io/linuxserver/minetest image: lscr.io/linuxserver/minetest:latest
container_name: minetest container_name: minetest
environment: environment:
- PUID=1000 - PUID=1000
- PGID=1000 - PGID=1000
- TZ=Europe/London - TZ=Europe/London
- CLI_ARGS="--gameid minetest" #optional - CLI_ARGS="--gameid minetest --port 30000" #optional
volumes: volumes:
- /path/to/data:/config/.minetest - /path/to/data:/config/.minetest
ports: ports:
@ -99,11 +103,11 @@ docker run -d \
-e PUID=1000 \ -e PUID=1000 \
-e PGID=1000 \ -e PGID=1000 \
-e TZ=Europe/London \ -e TZ=Europe/London \
-e CLI_ARGS="--gameid minetest" `#optional` \ -e CLI_ARGS="--gameid minetest --port 30000" `#optional` \
-p 30000:30000/udp \ -p 30000:30000/udp \
-v /path/to/data:/config/.minetest \ -v /path/to/data:/config/.minetest \
--restart unless-stopped \ --restart unless-stopped \
lscr.io/linuxserver/minetest lscr.io/linuxserver/minetest:latest
``` ```
## Parameters ## 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 PUID=1000` | for UserID - see below for explanation |
| `-e PGID=1000` | for GroupID - 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 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. | | `-v /config/.minetest` | Where minetest stores config files and maps etc. |
## Environment variables from files (Docker secrets) ## 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 * container version number
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' minetest` * `docker inspect -f '{{ index .Config.Labels "build_version" }}' minetest`
* image version number * 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 ## Updating Info
@ -180,7 +184,7 @@ Below are the instructions for updating containers:
### Via Docker Run ### 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` * Stop the running container: `docker stop minetest`
* Delete the container: `docker rm 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) * 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 ## Versions
* **02.05.22:** - Allow specifying the advertised port.
* **17.03.22:** - Install forked irrlicht, add zstd. * **17.03.22:** - Install forked irrlicht, add zstd.
* **19.01.22:** - Rebasing to alpine 3.15. * **19.01.22:** - Rebasing to alpine 3.15.
* **02.06.20:** - Rebasing to alpine 3.12. * **02.06.20:** - Rebasing to alpine 3.12.

View File

@ -36,7 +36,7 @@ cap_add_param: false
# optional container parameters # optional container parameters
opt_param_usage_include_env: true opt_param_usage_include_env: true
opt_param_env_vars: 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 # application setup block
@ -44,11 +44,16 @@ app_setup_block_enabled: true
app_setup_block: | app_setup_block: |
You can find the world maps, mods folder and config files in /config/.minetest. 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: 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 https://hub.docker.com/r/linuxserver/{{ project_name }}/tags
# changelog # changelog
changelogs: changelogs:
- { date: "02.05.22:", desc: "Allow specifying the advertised port."}
- { date: "17.03.22:", desc: "Install forked irrlicht, add zstd." } - { date: "17.03.22:", desc: "Install forked irrlicht, add zstd." }
- { date: "19.01.22:", desc: "Rebasing to alpine 3.15." } - { date: "19.01.22:", desc: "Rebasing to alpine 3.15." }
- { date: "02.06.20:", desc: "Rebasing to alpine 3.12." } - { date: "02.06.20:", desc: "Rebasing to alpine 3.12." }

View File

@ -1,5 +1,5 @@
#!/usr/bin/with-contenv bash #!/usr/bin/with-contenv bash
exec \ exec \
s6-setuidgid abc minetestserver ${CLI_ARGS} \ s6-setuidgid abc minetestserver --port 30000 \
--config /config/.minetest/main-config/minetest.conf --port 30000 --config /config/.minetest/main-config/minetest.conf ${CLI_ARGS}