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
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

View File

@ -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-\<version tag\> |
| arm64 | ✅ | arm64v8-\<version tag\> |
| armhf| ✅ | arm32v7-\<version tag\> |
## 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.

View File

@ -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." }

View File

@ -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}