Skip to content

Commit ecfc401

Browse files
techknowlogicklunny
authored andcommitted
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
1 parent 4ceb92f commit ecfc401

File tree

3 files changed

+9
-2
lines changed

3 files changed

+9
-2
lines changed

docker/etc/s6/gitea/run

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
[[ -f ./setup ]] && source ./setup
33

44
pushd /app/gitea > /dev/null
5-
exec su-exec git /app/gitea/gitea web
5+
exec su-exec $USER /app/gitea/gitea web
66
popd

docker/etc/s6/gitea/setup

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,5 @@ if [ ! -f /data/gitea/conf/app.ini ]; then
3939
envsubst < /etc/templates/app.ini > /data/gitea/conf/app.ini
4040
fi
4141

42-
chown -R git:git /data/gitea /app/gitea /data/git
42+
chown -R ${USER}:git /data/gitea /app/gitea /data/git
4343
chmod 0755 /data/gitea /app/gitea /data/git

docker/usr/bin/entrypoint

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
#!/bin/sh
22

3+
if [ "${USER}" != "git" ]; then
4+
# rename user
5+
sed -i -e "s/^git\:/${USER}\:/g" /etc/passwd
6+
# switch sshd config to different user
7+
sed -i -e "s/AllowUsers git/AllowUsers ${USER}/g" /etc/ssh/sshd_config
8+
fi
9+
310
## Change GID for USER?
411
if [ -n "${USER_GID}" ] && [ "${USER_GID}" != "`id -g ${USER}`" ]; then
512
sed -i -e "s/^${USER}:\([^:]*\):[0-9]*/${USER}:\1:${USER_GID}/" /etc/group

0 commit comments

Comments
 (0)