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",
"release": "latest",
"version": "1",
"podman_network": "x"
"podman_network": "x",
"additional_ports": [
]
}

24
pms-cli
View file

@ -3,7 +3,7 @@
# CONSTANTS
readonly PKGVER="0.2.4"
readonly LICENSE="GNU AGPLv3"
readonly ROOTPATH="$(dirname $(readlink -f $(which $0)))"
readonly ROOTPATH="$(dirname $(readlink -f $(which ${0})))"
readonly TEMPLATEDIR="${ROOTPATH}/.template"
readonly BUILDDIR="$(mktemp -d /tmp/pms-cli.XXXXXX)"
readonly CONFIG="/usr/local/noveria/etc/pms-cli/pms-cli.json"
@ -55,7 +55,7 @@ fi
eval set -- "$TEMP"
while true; do
case "$1" in
case "${1}" in
-h|--help)
usage
exit 0
@ -69,33 +69,33 @@ while true; do
;;
--init)
shift
init "$1" "$3"
init "${1}" "${3}"
;;
--datapack)
shift
datapack "$1" "$3"
datapack "${1}" "${3}"
;;
--start)
shift
start "$1" "$3" "$4"
start "${1}" "${3}" "${4}"
;;
--stop)
shift
stop "$1"
stop "${1}"
;;
--restart)
shift
stop "$1"
start "$1" "$3" "$4"
stop "${1}"
start "${1}" "${3}" "${4}"
;;
--attach)
shift
attach "$1"
attach "${1}"
;;
--reset)
shift
stop "$1"
reset "$1"
stop "${1}"
reset "${1}"
;;
--delete)
shift
@ -107,7 +107,7 @@ while true; do
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
;;
esac

View file

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

View file

@ -93,7 +93,9 @@ function buildImage() {
##
function startContainer() {
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!"
}