summaryrefslogtreecommitdiffstats
path: root/docker/start.sh
blob: cea6e54e7d0b4b65c068e213ac3b3d070c3991f1 (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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/bin/bash -
#

if ! test -d /data/gogs
then
	mkdir -p /var/run/sshd
	mkdir -p /data/gogs/data /data/gogs/conf /data/gogs/log /data/git
fi

if ! test -d /data/ssh
then
	mkdir /data/ssh
	ssh-keygen -q -f /data/ssh/ssh_host_key -N '' -t rsa1
	ssh-keygen -q -f /data/ssh/ssh_host_rsa_key -N '' -t rsa
	ssh-keygen -q -f /data/ssh/ssh_host_dsa_key -N '' -t dsa
	ssh-keygen -q -f /data/ssh/ssh_host_ecdsa_key -N '' -t ecdsa
	ssh-keygen -q -f /data/ssh/ssh_host_ed25519_key -N '' -t ed25519
	chown -R root:root /data/ssh/*
	chmod 600 /data/ssh/*
fi

service ssh start

ln -sf /data/gogs/log ./log
ln -sf /data/gogs/data ./data
ln -sf /data/git /home/git


if ! test -d ~git/.ssh
then
  mkdir ~git/.ssh
  chmod 700 ~git/.ssh
fi

if ! test -f ~git/.ssh/environment
then
  echo "GOGS_CUSTOM=/data/gogs" > ~git/.ssh/environment
  chown git:git ~git/.ssh/environment
  chown 600 ~git/.ssh/environment
fi

chown -R git:git /data .
exec su git -c "./gogs web"