code-server-wpilib/entrypoint.sh

27 lines
871 B
Bash

#!/bin/bash
CURRENT_GID=$(id -g $1)
if [ -n "$USER_GID" ] && [ "$USER_GID" != "$CURRENT_GID" ]; then
groupmod -g $USER_GID $1
find / -group $CURRENT_GID -exec chgrp -h $1 {} \;
fi
CURRENT_UID=$(id -u $1)
if [ -n "$USER_UID" ] && [ "$USER_UID" != "$CURRENT_UID" ]; then
usermod -u $USER_UID $1
find / -user $CURRENT_UID -exec chown -h $1 {} \;
fi
CURRENT_PASSWD=$(grep -E "^password: .*$" /home/$1/.config/code-server/config.yaml | cut -d ":" -f 2 | awk '{$1=$1;print}')
if [ -n "$USER_PASSWD" ] && [ "$CURRENT_PASSWD" != "$USER_PASSWD" ] || [ "$CURRENT_PASSWD" == "PASSWORD" ]; then
if [ -z "$USER_PASSWD" ]; then
USER_PASSWD=$(tr -dc A-Za-z0-9 < /dev/urandom | head -c 20; echo)
fi
sed -i "s/^password: .*$/password: $USER_PASSWD/g" /home/$1/.config/code-server/config.yaml
fi
/usr/bin/code-server --bind-addr 0.0.0.0:8080 .