Add additional_ports configlet

This commit is contained in:
LinuxSquare 2024-03-16 20:44:57 +01:00
parent c443106584
commit 6593dabf42
4 changed files with 20 additions and 16 deletions

View file

@ -4,5 +4,7 @@
"software": "x", "software": "x",
"release": "latest", "release": "latest",
"version": "1", "version": "1",
"podman_network": "x" "podman_network": "x",
"additional_ports": [
]
} }

24
pms-cli
View file

@ -3,7 +3,7 @@
# CONSTANTS # CONSTANTS
readonly PKGVER="0.2.4" readonly PKGVER="0.2.4"
readonly LICENSE="GNU AGPLv3" readonly LICENSE="GNU AGPLv3"
readonly ROOTPATH="$(dirname $(readlink -f $(which $0)))" readonly ROOTPATH="$(dirname $(readlink -f $(which ${0})))"
readonly TEMPLATEDIR="${ROOTPATH}/.template" readonly TEMPLATEDIR="${ROOTPATH}/.template"
readonly BUILDDIR="$(mktemp -d /tmp/pms-cli.XXXXXX)" readonly BUILDDIR="$(mktemp -d /tmp/pms-cli.XXXXXX)"
readonly CONFIG="/usr/local/noveria/etc/pms-cli/pms-cli.json" readonly CONFIG="/usr/local/noveria/etc/pms-cli/pms-cli.json"
@ -55,7 +55,7 @@ fi
eval set -- "$TEMP" eval set -- "$TEMP"
while true; do while true; do
case "$1" in case "${1}" in
-h|--help) -h|--help)
usage usage
exit 0 exit 0
@ -69,33 +69,33 @@ while true; do
;; ;;
--init) --init)
shift shift
init "$1" "$3" init "${1}" "${3}"
;; ;;
--datapack) --datapack)
shift shift
datapack "$1" "$3" datapack "${1}" "${3}"
;; ;;
--start) --start)
shift shift
start "$1" "$3" "$4" start "${1}" "${3}" "${4}"
;; ;;
--stop) --stop)
shift shift
stop "$1" stop "${1}"
;; ;;
--restart) --restart)
shift shift
stop "$1" stop "${1}"
start "$1" "$3" "$4" start "${1}" "${3}" "${4}"
;; ;;
--attach) --attach)
shift shift
attach "$1" attach "${1}"
;; ;;
--reset) --reset)
shift shift
stop "$1" stop "${1}"
reset "$1" reset "${1}"
;; ;;
--delete) --delete)
shift shift
@ -107,7 +107,7 @@ while true; do
break break
;; ;;
*) *)
log w "$1 is not a valid parameter. Please refer to '$(basename ${0}) -h' for help!" log w "${1} is not a valid parameter. Please refer to '$(basename ${0}) -h' for help!"
break break
;; ;;
esac esac

View file

@ -1,8 +1,8 @@
#!/usr/bin/env bash #!/usr/bin/env bash
function attach() { function attach() {
if [[ -z $(podman container ps | grep "$1") ]]; then if [[ -z $(podman container ps | grep "${1}") ]]; then
log e "Container '$1' is not running!" log e "Container '${1}' is not running!"
exit 1 exit 1
fi fi
log i "Attaching to container '$1'" log i "Attaching to container '$1'"

View file

@ -93,7 +93,9 @@ function buildImage() {
## ##
function startContainer() { function startContainer() {
log d "Starting container '$1'" log d "Starting container '$1'"
podman run --name "$1" --userns=keep-id:uid=1000 --rm -it -d --network "$5" -p $([[ -n "$4" ]] && echo ${4}:)$3:25565 -v $(getValueByKey 'PODMAN_DIRECTORY')/$1/data:/var/server "$2" java -Dcom.mojang.eula.agree=true -jar /var/exec/server.jar --nogui --port 25565 readarray -t additional_ports <<< "$(getLocalConfValue $(getValueByKey 'PODMAN_DIRECTORY')/${1} 'additional_ports[]')"
[[ ${#additional_ports} -gt 0 ]] && log d "Starting with additional ports: ${additional_ports[@]}"
podman run --name "${1}" --userns=keep-id:uid=1000 --rm -it -d --network "${5}" -p $([[ -n "${4}" ]] && echo ${4}:)${3}:25565 $([[ ${#additional_ports} -gt 0 ]] && for port in "${additional_ports[@]}"; do echo "-p $([[ -n ${4} ]] && echo ${4}:)${port}:${port}"; done) -v $(getValueByKey 'PODMAN_DIRECTORY')/${1}/data:/var/server "${2}" java -Dcom.mojang.eula.agree=true -jar /var/exec/server.jar --nogui --port 25565
[[ $? -eq 0 ]] && log s "Container '$1' started!" [[ $? -eq 0 ]] && log s "Container '$1' started!"
} }