code-server-wpilib/entrypoint.sh

27 lines
900 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 [ -n "${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 .