add podman_network
This commit is contained in:
parent
69690989f9
commit
c41c2b4ad1
5 changed files with 24 additions and 7 deletions
|
@ -3,5 +3,6 @@
|
|||
"build": 1,
|
||||
"software": "x",
|
||||
"release": "latest",
|
||||
"version": "1"
|
||||
"version": "1",
|
||||
"podman_network": "x"
|
||||
}
|
||||
|
|
4
pms-cli
4
pms-cli
|
@ -21,7 +21,7 @@ operations:
|
|||
$(basename ${0}) {-h --help}
|
||||
$(basename ${0}) {-V --version}
|
||||
$(basename ${0}) {-v --verbose}
|
||||
$(basename ${0}) {--init} [servername]
|
||||
$(basename ${0}) {--init} [servername] [network name]
|
||||
$(basename ${0}) {--datapack} [servername] [datapack dl url]
|
||||
$(basename ${0}) {--start} [servername] [port] (ip)
|
||||
$(basename ${0}) {--stop} [servername]
|
||||
|
@ -68,7 +68,7 @@ while true; do
|
|||
;;
|
||||
--init)
|
||||
shift
|
||||
init "$1"
|
||||
init "$1" "$3"
|
||||
;;
|
||||
--datapack)
|
||||
shift
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
function init() {
|
||||
createNetwork "$2"
|
||||
if [[ -d "$(getValueByKey 'PODMAN_DIRECTORY')/${1}" ]]; then
|
||||
log e "Directory '${1}' already exists"
|
||||
exit 1
|
||||
|
@ -9,11 +10,12 @@ function init() {
|
|||
local newdir="$(getValueByKey 'PODMAN_DIRECTORY')/${1}"
|
||||
|
||||
mkdir -p "${newdir}/data/world/datapacks"
|
||||
populateConfig "${newdir}/config.json"
|
||||
populateConfig "${newdir}/config.json" "$2"
|
||||
}
|
||||
|
||||
function populateConfig() {
|
||||
local config="$1"
|
||||
local network_name="$2"
|
||||
|
||||
local runnertype
|
||||
local build
|
||||
|
@ -118,5 +120,5 @@ function populateConfig() {
|
|||
;;
|
||||
esac
|
||||
|
||||
jq "(.type=\"$runnertype\")|(.build=$build)|(.software=\"$software\")|(.release=\"$release\")|(.version=\"$version\")" ${TEMPLATEDIR}/config.json > "$config"
|
||||
jq "(.type=\"$runnertype\")|(.build=$build)|(.software=\"$software\")|(.release=\"$release\")|(.version=\"$version\")|(.podman_network=\"$network_name\")" ${TEMPLATEDIR}/config.json > "$config"
|
||||
}
|
||||
|
|
15
utils/podman
15
utils/podman
|
@ -93,7 +93,7 @@ function buildImage() {
|
|||
##
|
||||
function startContainer() {
|
||||
log d "Starting container '$1'"
|
||||
podman run --name "$1" --userns=keep-id:uid=1000 --rm -it -d -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
|
||||
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
|
||||
[[ $? -eq 0 ]] && log s "Container '$1' started!"
|
||||
}
|
||||
|
||||
|
@ -107,3 +107,16 @@ function stopContainer() {
|
|||
podman container stop --time 100 $1
|
||||
log s "Container '$1' stopped"
|
||||
}
|
||||
|
||||
##
|
||||
# create a podman network
|
||||
#
|
||||
# $1 - string: network-name
|
||||
##
|
||||
function createNetwork() {
|
||||
if [[ -n $(podman network ls | grep "$1") ]]; then
|
||||
log w "Network '$1' exists already, won't create!"
|
||||
return 1
|
||||
fi
|
||||
podman network create "$1"
|
||||
}
|
||||
|
|
|
@ -16,6 +16,7 @@ function start() {
|
|||
local software="$(getLocalConfValue $dir 'software')"
|
||||
local version="$(getLocalConfValue $dir 'version')"
|
||||
local build="$(getLocalConfValue $dir 'build')"
|
||||
local podman_network="$(getLocalConfValue $dir 'podman_network')"
|
||||
|
||||
case "$(getLocalConfValue $dir 'type')" in
|
||||
"server")
|
||||
|
@ -45,5 +46,5 @@ function start() {
|
|||
fi
|
||||
|
||||
log i "Starting container '$1' with image '$version/$software:$build' on port '$([[ -n "$3" ]] && echo ${3}:)$2'"
|
||||
startContainer "$1" "$version/$software:$build" "$2" "$3"
|
||||
startContainer "$1" "$version/$software:$build" "$2" "$3" "$podman_network"
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue