@@ -27,10 +27,11 @@ ln -sf /run/secrets/keys-host-ed25519 /etc/ssh/keys-host/ssh_host_ed25519_key
27
27
ln -sf /run/secrets/keys-host-ed25519.pub /etc/ssh/keys-host/ssh_host_ed25519_key.pub
28
28
29
29
# Create user
30
- mkdir -p /home/git
31
- adduser git --gecos " " --no-create-home --quiet --disabled-password || true # if already created, ignore
32
- groupmod -g " ${GROUP_ID:- 1001} " git || true # if already in group, ignore
33
- usermod -u " ${USER_ID:- 1001} " git || true # if already this userid, ignore
30
+ HOME_GIT=" /home/${USER:- git} "
31
+ mkdir -p " ${HOME_GIT} "
32
+ adduser " ${USER:- git} " --gecos " " --no-create-home --quiet --disabled-password || true # if already created, ignore
33
+ groupmod -g " ${GROUP_ID:- 1001} " " ${USER:- git} " || true # if already in group, ignore
34
+ usermod -u " ${USER_ID:- 1001} " " ${USER:- git} " || true # if already this userid, ignore
34
35
35
36
36
37
# Update authorized keys
@@ -51,12 +52,12 @@ awk \
51
52
/usr/local/share/sshd_config > " ${SSHD_CONFIG} "
52
53
53
54
# Fill template no-interactive-login
54
- HOME_GIT=" /home/git"
55
55
GIT_SHELL_COMMANDS=" ${HOME_GIT} /git-shell-commands"
56
56
NOINTERACTIVELOGIN=" ${GIT_SHELL_COMMANDS} /no-interactive-login"
57
57
mkdir -p " ${GIT_SHELL_COMMANDS} "
58
58
awk \
59
59
-v VOLUME_GIT=" ${VOLUME_GIT} " \
60
+ -v USER=" ${USER:- git} " \
60
61
-v OWNER=" ${OWNER} " \
61
62
-v FRONTEND_NAME=" ${FRONTEND_NAME} " \
62
63
-v FRONTEND_DOMAIN=" ${FRONTEND_DOMAIN} " \
71
72
' {
72
73
sub(/{{VOLUME_GIT}}/, VOLUME_GIT);
73
74
sub(/{{OWNER}}/, OWNER);
75
+ sub(/{{USER}}/, USER);
74
76
sub(/{{FRONTEND_NAME}}/, FRONTEND_NAME);
75
77
sub(/{{FRONTEND_DOMAIN}}/, FRONTEND_DOMAIN);
76
78
sub(/{{FRONTEND_VERIFY_HOST_KEY_DNS}}/, FRONTEND_VERIFY_HOST_KEY_DNS);
@@ -86,12 +88,12 @@ awk \
86
88
/usr/local/share/no-interactive-login.sh > " ${NOINTERACTIVELOGIN} "
87
89
88
90
# Rights management
89
- chown root:git -R " ${HOME_GIT} " " ${ETC_SSH} "
91
+ chown " root:${USER :- git} " -R " ${HOME_GIT} " " ${ETC_SSH} "
90
92
chmod -R g=rX,+st " ${HOME_GIT} " " ${ETC_SSH} "
91
93
chmod g+x " ${NOINTERACTIVELOGIN} "
92
94
93
95
touch /run/sshd.pid
94
- chown root:git /run/sshd.pid
96
+ chown " root:${USER :- git} " /run/sshd.pid
95
97
chmod g+w,+s /run/sshd.pid
96
98
97
99
# exec sshd process using git user
@@ -104,6 +106,6 @@ case "$1" in
104
106
;;
105
107
--start)
106
108
cd " ${VOLUME_GIT} "
107
- exec gosu git " /usr/bin/sshd" -D " ${@: 2} "
109
+ exec gosu " ${USER :- git} " " /usr/bin/sshd" -D " ${@: 2} "
108
110
;;
109
111
esac
0 commit comments