Allow Gitea to run as different USER in Docker (#3961)
* If using a different $USER then rename git user * Chown based on $USER env * Target only one part of passwd * su-exec based on $USER not a hardcoded value
This commit is contained in:
parent
4ceb92f311
commit
ecfc401eaa
3 changed files with 9 additions and 2 deletions
|
@ -2,5 +2,5 @@
|
||||||
[[ -f ./setup ]] && source ./setup
|
[[ -f ./setup ]] && source ./setup
|
||||||
|
|
||||||
pushd /app/gitea > /dev/null
|
pushd /app/gitea > /dev/null
|
||||||
exec su-exec git /app/gitea/gitea web
|
exec su-exec $USER /app/gitea/gitea web
|
||||||
popd
|
popd
|
||||||
|
|
|
@ -39,5 +39,5 @@ if [ ! -f /data/gitea/conf/app.ini ]; then
|
||||||
envsubst < /etc/templates/app.ini > /data/gitea/conf/app.ini
|
envsubst < /etc/templates/app.ini > /data/gitea/conf/app.ini
|
||||||
fi
|
fi
|
||||||
|
|
||||||
chown -R git:git /data/gitea /app/gitea /data/git
|
chown -R ${USER}:git /data/gitea /app/gitea /data/git
|
||||||
chmod 0755 /data/gitea /app/gitea /data/git
|
chmod 0755 /data/gitea /app/gitea /data/git
|
||||||
|
|
|
@ -1,5 +1,12 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
if [ "${USER}" != "git" ]; then
|
||||||
|
# rename user
|
||||||
|
sed -i -e "s/^git\:/${USER}\:/g" /etc/passwd
|
||||||
|
# switch sshd config to different user
|
||||||
|
sed -i -e "s/AllowUsers git/AllowUsers ${USER}/g" /etc/ssh/sshd_config
|
||||||
|
fi
|
||||||
|
|
||||||
## Change GID for USER?
|
## Change GID for USER?
|
||||||
if [ -n "${USER_GID}" ] && [ "${USER_GID}" != "`id -g ${USER}`" ]; then
|
if [ -n "${USER_GID}" ] && [ "${USER_GID}" != "`id -g ${USER}`" ]; then
|
||||||
sed -i -e "s/^${USER}:\([^:]*\):[0-9]*/${USER}:\1:${USER_GID}/" /etc/group
|
sed -i -e "s/^${USER}:\([^:]*\):[0-9]*/${USER}:\1:${USER_GID}/" /etc/group
|
||||||
|
|
Loading…
Reference in a new issue