vyos-build/docker/entrypoint.sh
Christian Poessinger 06a908594f T5003: backport changes from master to support latest Docker version on CI hosts
The newer Docker versions seem to be a bit more picky when using tools
like goso. The container will no longer start if the gosu binary has the setuid
root bit set.

This change adjusts the container to continue working on recent Docker
versions.
2023-03-01 22:22:35 +01:00

36 lines
831 B
Bash
Executable File

#!/bin/bash
set -e
USER_NAME="vyos_bld"
NEW_UID=$(stat -c "%u" .)
NEW_GID=$(stat -c "%g" .)
# Change effective UID to the one specified via "-e GOSU_UID=`id -u $USER`"
if [ -n "$GOSU_UID" ]; then
NEW_UID=$GOSU_UID
fi
# Change effective UID to the one specified via "-e GOSU_GID=`id -g $USER`"
if [ -n "$GOSU_GID" ]; then
NEW_GID=$GOSU_GID
fi
# Notify user about selected UID/GID
echo "Current UID/GID: $NEW_UID/$NEW_GID"
# Create UNIX group on the fly if it does not exist
if ! grep -q $NEW_GID /etc/group; then
groupadd --gid $NEW_GID $USER_NAME
fi
useradd --shell /bin/bash --uid $NEW_UID --gid $NEW_GID --non-unique --create-home $USER_NAME
sudo chown $NEW_UID:$NEW_GID /home/$USER_NAME
export HOME=/home/$USER_NAME
if [ "$(id -u)" == "0" ]; then
exec gosu $USER_NAME "$@"
fi
# Execute process
exec "$@"