diff --git a/docker/docker-init.sh b/docker/docker-init.sh index 1fdec0472..b6dac0eb2 100644 --- a/docker/docker-init.sh +++ b/docker/docker-init.sh @@ -6,10 +6,19 @@ if [ ! "$USER" ]; then echo "Environment variable USER is not set -- will set USER='django'." USER="django" fi +if [ ! "$UID" ]; then + echo "Environment variable UID is not set -- will set UID='1000'." + UID="1000" +fi +if [ ! "$GID" ]; then + echo "Environment variable GID is not set -- will set GID='1000'." + GID="1000" +fi if [ ! "$TAG" ]; then echo "Environment variable TAG is not set -- will set TAG='datatracker'." TAG="datatracker" fi +echo "User $USER ($UID:$GID)" echo "Checking if MySQL base data exists ..." if [ ! -d $MYSQLDIR/mysql ]; then @@ -64,7 +73,7 @@ fi if ! id -u "$USER" &> /dev/null; then echo "Creating user '$USER' ..." - useradd -s /bin/bash -G staff,sudo $USER + useradd -s /bin/bash --groups staff,sudo --uid $UID --gid $GID $USER echo "$USER:$USER" | chpasswd fi diff --git a/docker/run b/docker/run index 1b1929c3b..4289cf40e 100755 --- a/docker/run +++ b/docker/run @@ -85,6 +85,8 @@ REPO="ietf/datatracker-environment" TAG=$(basename $(svn info $parent | grep ^URL | awk '{print $2}')) DBURL=https://www.ietf.org/lib/dt/sprint/ietf_utf8.bin.tar.bz2 WHO=$(whoami) +WHOUID=$(id -u $WHO) +WHOGID=$(id -g $WHO) if [ "$(uname)" = "Linux" ]; then args=$(getopt -o "$shortopts" --long "$longopts" -n '$program' -- $SV "$@") @@ -213,15 +215,16 @@ else fi echo -e "\nThe web interface for 'runserver' should appear on $URL\n" + echo -e "User $WHO ($WHOUID:$WHOGID)" if [ -z "$MYSQLDIR" ]; then docker run -ti -p $PORT:8000 -v "$HOME:/home/$WHO" \ -e USER="$WHO" -e DATADIR="${parent#$HOME/}/data" -e CWD="${PWD#$HOME/}" \ - -e TAG="$TAG" -e FILEDIR=${FILEDIR#$HOME} \ + -e TAG="$TAG" -e FILEDIR=${FILEDIR#$HOME} -e UID="$WHOUID" -e GID="$WHOGID" \ "$REPO:$TAG" "$@" else docker run -ti -p $PORT:8000 -v "$HOME:/home/$WHO" -v "$MYSQLDIR:/var/lib/mysql"\ -e USER="$WHO" -e DATADIR="${parent#$HOME/}/data" -e CWD="${PWD#$HOME/}" \ - -e TAG="$TAG" -e FILEDIR=${FILEDIR#$HOME} \ + -e TAG="$TAG" -e FILEDIR=${FILEDIR#$HOME} -e UID="$WHOUID" -e GID="$WHOGID" \ "$REPO:$TAG" "$@" fi