This commit is contained in:
59
entrypoint.sh
Normal file
59
entrypoint.sh
Normal file
@ -0,0 +1,59 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -n "$ROOT_PASSWD" ]; then
|
||||
echo "root:${ROOT_PASSWD}" | chpasswd
|
||||
echo "密码设置完毕" >> /app/info.log
|
||||
fi
|
||||
|
||||
if [ -e "/root/.gitconfig" ]; then
|
||||
echo "git配置文件已存在" >> /app/info.log
|
||||
else
|
||||
touch /root/.gitconfig
|
||||
echo "git配置文件已创建" >> /app/info.log
|
||||
fi
|
||||
|
||||
# git使用openssh的shh程序
|
||||
git config --global core.sshCommand "/usr/bin/ssh"
|
||||
|
||||
if [ -n "$GIT_USER" ] && [ -n "$GIT_EMAIL" ]; then
|
||||
git config --global user.name "$GIT_USER"
|
||||
git config --global user.email "$GIT_EMAIL"
|
||||
echo "git 用户已设置完毕" >> /app/info.log
|
||||
fi
|
||||
|
||||
if [ -n "$DOCKER_USER" ] && [ -n "$DOCKER_PASSWD" ]; then
|
||||
docker login -u "$DOCKER_USER" -p "$DOCKER_PASSWD"
|
||||
echo "docker 用户登录完成" >> /app/info.log
|
||||
fi
|
||||
|
||||
service ssh start >> /app/info.log
|
||||
ssh-agent bash >> /app/info.log
|
||||
|
||||
cat /app/info.log
|
||||
|
||||
set -eu
|
||||
|
||||
# We do this first to ensure sudo works below when renaming the user.
|
||||
# Otherwise the current container UID may not exist in the passwd database.
|
||||
eval "$(fixuid -q)"
|
||||
|
||||
if [ "${DOCKER_USER-}" ]; then
|
||||
USER="$DOCKER_USER"
|
||||
if [ "$DOCKER_USER" != "$(whoami)" ]; then
|
||||
echo "$DOCKER_USER ALL=(ALL) NOPASSWD:ALL" | sudo tee -a /etc/sudoers.d/nopasswd > /dev/null
|
||||
# Unfortunately we cannot change $HOME as we cannot move any bind mounts
|
||||
# nor can we bind mount $HOME into a new home as that requires a privileged container.
|
||||
sudo usermod --login "$DOCKER_USER" coder
|
||||
sudo groupmod -n "$DOCKER_USER" coder
|
||||
|
||||
sudo sed -i "/coder/d" /etc/sudoers.d/nopasswd
|
||||
fi
|
||||
fi
|
||||
|
||||
# Allow users to have scripts run on container startup to prepare workspace.
|
||||
# https://github.com/coder/code-server/issues/5177
|
||||
if [ -d "${ENTRYPOINTD}" ]; then
|
||||
find "${ENTRYPOINTD}" -type f -executable -print -exec {} \;
|
||||
fi
|
||||
|
||||
exec dumb-init /usr/bin/code-server "$@"
|
Reference in New Issue
Block a user