90 lines
2.4 KiB
Plaintext
90 lines
2.4 KiB
Plaintext
|
#! /usr/bin/env bash
|
||
|
|
||
|
jlmkr () {
|
||
|
sudo VISUAL="${VISUAL:-}" EDITOR="${EDITOR:-}" $SCALE_POOL_ROOT/jailmaker/jlmkr.py "${@:---help}"
|
||
|
}
|
||
|
|
||
|
JAIL_UID=${JAIL_UID:-${UID}}
|
||
|
|
||
|
jlmkr-exec () {
|
||
|
local cli='cd /srv/runtipi; '"${1:?Must supply command} "${2:+"$(
|
||
|
printf '\"%s\" ' "${@:2}"
|
||
|
)"}
|
||
|
|
||
|
if jlmkr exec runtipi true; then
|
||
|
[ -n "$QUIET" ] || printf 'jlmkr UID:\t%s\ncli:\t\t%s\n' "${JAIL_UID}" "$cli"
|
||
|
jlmkr shell --uid "${JAIL_UID}" runtipi /bin/bash -c "$cli"
|
||
|
else
|
||
|
echo "ERROR: ${_ERROR_MGS:-"Please check if runtipi jail has started! Have you tried 'full-start'?"}" >&2
|
||
|
exit -1
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
runtipi-cli() {
|
||
|
jlmkr-exec ./runtipi-cli "${@}"
|
||
|
}
|
||
|
|
||
|
runtipi-app-docker-compose() {
|
||
|
local APP="${1:-Must supply app name}"
|
||
|
local LOCAL_YML="user-config/${APP}/docker-compose.yml"
|
||
|
|
||
|
jlmkr exec runtipi test -e "/srv/runtipi/${LOCAL_YML}" || LOCAL_YML=""
|
||
|
[ -z "$LOCAL_YML" ] || LOCAL_YML="--file ${LOCAL_YML}"
|
||
|
|
||
|
jlmkr-exec docker compose \
|
||
|
--env-file user-config/.env.local \
|
||
|
--env-file app-data/${APP}/app.env \
|
||
|
--env-file user-config/${APP}/app.env \
|
||
|
--project-name ${APP} \
|
||
|
--file apps/${APP}/docker-compose.yml \
|
||
|
--file repos/29ca930bfdaffa1dfabf5726336380ede7066bc53297e3c0c868b27c97282903/apps/docker-compose.common.yml \
|
||
|
${LOCAL_YML} ${@:2}
|
||
|
}
|
||
|
|
||
|
case "${1}" in
|
||
|
cli)
|
||
|
runtipi-cli "${@:2}"
|
||
|
;;
|
||
|
log)
|
||
|
jlmkr-exec docker compose --env-file user-config/.env.local logs --tail=${TAIL:-40} "${2:-runtipi}" ${3:+"${@:3}"}
|
||
|
;;
|
||
|
start)
|
||
|
runtipi-cli start --env-file user-config/.env.local --no-permissions
|
||
|
;;
|
||
|
full-start)
|
||
|
if ! jlmkr exec runtipi true; then
|
||
|
jlmkr start runtipi
|
||
|
sleep 1s
|
||
|
fi
|
||
|
_ERROR_MSG="ERROR: failed to invoke a command inside the runtipi jail and can't start the jail." \
|
||
|
runtipi-cli start --env-file user-config/.env.local --no-permissions
|
||
|
;;
|
||
|
exec)
|
||
|
jlmkr-exec "${@:2}"
|
||
|
;;
|
||
|
docker)
|
||
|
jlmkr-exec docker "${@:2}"
|
||
|
;;
|
||
|
dcoapp)
|
||
|
runtipi-app-docker-compose "${@:2}"
|
||
|
;;
|
||
|
setup)
|
||
|
ln -s "${BASH_SOURCE[0]}" "$HOME/.local/bin/"
|
||
|
;;
|
||
|
*)
|
||
|
printf '%s\n' \
|
||
|
"Usage:" \
|
||
|
"" \
|
||
|
"cli" \
|
||
|
"log" \
|
||
|
"start" \
|
||
|
"full-start" \
|
||
|
"exec" \
|
||
|
"docker" \
|
||
|
"dcoapp" \
|
||
|
"setup"
|
||
|
|
||
|
;;
|
||
|
esac
|
||
|
|