27 lines
900 B
Bash
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 . |