diff options
author | Jean-Philippe Roemer <roemer.jp@gmail.com> | 2015-10-02 10:56:36 +0100 |
---|---|---|
committer | Jean-Philippe Roemer <roemer.jp@gmail.com> | 2015-10-02 10:56:36 +0100 |
commit | e63e0b3105124bd8ec3028a39dc71c8d8ca103e3 (patch) | |
tree | 77052948f4410ae26a15720e3b847cabbfc0fd20 /docker/s6 | |
parent | e0a099ec112e2746ec1f6dcd3276d19e14e50b06 (diff) | |
download | gitea-e63e0b3105124bd8ec3028a39dc71c8d8ca103e3.tar.gz gitea-e63e0b3105124bd8ec3028a39dc71c8d8ca103e3.zip |
New approach to Gogs Docker Container
- VOLUME for ‘/data’
- Usage of S6 as PID 1 Process
- Usage of ‘socat’ so linked container (like databases) are binded to
localhost
- OpenSSH, Socat Link and Gogs are supervised using S6
- Size of container reduced to ~75Mo
Diffstat (limited to 'docker/s6')
-rwxr-xr-x | docker/s6/.s6-svscan/finish | 2 | ||||
-rwxr-xr-x | docker/s6/gogs/run | 28 | ||||
-rwxr-xr-x | docker/s6/openssh/run | 15 |
3 files changed, 45 insertions, 0 deletions
diff --git a/docker/s6/.s6-svscan/finish b/docker/s6/.s6-svscan/finish new file mode 100755 index 0000000000..22665fa9bb --- /dev/null +++ b/docker/s6/.s6-svscan/finish @@ -0,0 +1,2 @@ +#!/bin/sh +exec /bin/true diff --git a/docker/s6/gogs/run b/docker/s6/gogs/run new file mode 100755 index 0000000000..a7b4cc55ee --- /dev/null +++ b/docker/s6/gogs/run @@ -0,0 +1,28 @@ +#!/bin/sh +USER=git +USERNAME=$USER + +if ! test -d /data/gogs; then + mkdir -p /data/gogs/data /data/gogs/conf /data/gogs/log /data/git +fi + +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 + +ln -sf /data/gogs/log /app/gogs/log +ln -sf /data/gogs/data /app/gogs/data +ln -sf /data/gogs/conf /app/gogs/conf + +chown -R git:git /data /app/gogs ~git/ + +export USER +export USERNAME +exec gosu $USER /app/gogs/gogs web diff --git a/docker/s6/openssh/run b/docker/s6/openssh/run new file mode 100755 index 0000000000..891285764a --- /dev/null +++ b/docker/s6/openssh/run @@ -0,0 +1,15 @@ +#!/bin/sh + +if ! test -d /data/ssh +then + mkdir -p /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 + +exec gosu root /usr/sbin/sshd -D -f /etc/ssh/sshd_config |