summaryrefslogtreecommitdiff
path: root/git-server/start.sh
blob: dcfb471e4da639660209cad91527ef698f557181 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/sh

# If there is some public key in keys folder
# then it copies its contain in authorized_keys file
if [ "$(ls -A /git-server/keys/)" ]; then
  cd /home/git
  cat /git-server/keys/*.pub > .ssh/authorized_keys
  chown -R git:git .ssh
  chmod 700 .ssh
  chmod -R 600 .ssh/*
fi

# Checking permissions and fixing SGID bit in repos folder
# More info: https://github.com/jkarlosb/git-server-docker/issues/1
if [ "$(ls -A /repos/)" ]; then
  cd /repos
  chown -R git:git .
  chmod -R ug+rwX .
  find . -type d -exec chmod g+s '{}' +
fi

# Run git daemon
#systemctl enable --now git.service
runuser -u  git --  git daemon --reuseaddr --base-path=/repos --export-all --informative-errors --verbose --detach

# -D flag avoids executing sshd as a daemon
/usr/sbin/sshd -D