From 3dcf8305bba4adcfc30a9376697c184bf7fa2957 Mon Sep 17 00:00:00 2001 From: Starbeamrainbowlabs Date: Thu, 4 Feb 2021 22:51:53 +0000 Subject: [PATCH] gossa: wrap in shell script to set uid / gid --- images/gossa/Dockerfile | 4 +++- images/gossa/run.sh | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100755 images/gossa/run.sh diff --git a/images/gossa/Dockerfile b/images/gossa/Dockerfile index e7562ef..15b968f 100644 --- a/images/gossa/Dockerfile +++ b/images/gossa/Dockerfile @@ -5,6 +5,8 @@ FROM ${REPO_LOCATION}minideb RUN install_packages gossa +COPY "run.sh" "/srv/run.sh" + VOLUME /mnt -ENTRYPOINT [ "gossa" "-p" "5700" "/mnt" ] +ENTRYPOINT [ "/srv/run.sh" ] diff --git a/images/gossa/run.sh b/images/gossa/run.sh new file mode 100755 index 0000000..e9b215b --- /dev/null +++ b/images/gossa/run.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +if [[ -z "${GOSSA_UID}" ]]; then + echo "Error: No target uid specified in the GOSSA_UID environment variable."; + exit 1; +fi +if [[ -z "${GOSSA_GID}" ]]; then + echo "Error: No target gid specified in the GOSSA_GID environment variable."; + exit 1; +fi +if [[ -z "${NOMAD_PORT_GOSSA}" ]]; then + echo "Error: No port number specified in the NOMAD_PORT_gossa environment variable."; + exit 1; +fi + +cd "/mnt" || { echo "Failed to cd into /mnt"; exit 1; }; + +setpriv --inh-caps=-all --reuid "${GOSSA_UID}" --init-groups --regid "${GOSSA_GID}" /usr/local/bin/gossa -p "${NOMAD_PORT_GOSSA}" /mnt;