From ad5e0b833c0a71a47ac0a0e0d7febc50f5cd739d Mon Sep 17 00:00:00 2001 From: Jean-Philippe Roemer Date: Fri, 2 Oct 2015 21:54:55 +0100 Subject: Docker Container: Init 1 & Initialisation - Now using a setup script before starting the app. The separation of the run script and the setup script will make service initialisation a little bit clearer - Now calling start.sh script as ENTRYPOINT and S6 as CMD. This way when running the container with just a shell script, the start.sh script will be launched before, making debugging easier - Added note about `.dockerignore` ignored during Docker Hub Automated Build --- docker/s6/gogs/run | 24 +++--------------------- docker/s6/gogs/setup | 22 ++++++++++++++++++++++ docker/s6/openssh/run | 12 ++---------- docker/s6/openssh/setup | 12 ++++++++++++ 4 files changed, 39 insertions(+), 31 deletions(-) create mode 100755 docker/s6/gogs/setup create mode 100755 docker/s6/openssh/setup (limited to 'docker/s6') diff --git a/docker/s6/gogs/run b/docker/s6/gogs/run index 626012c2..1aa70eb4 100755 --- a/docker/s6/gogs/run +++ b/docker/s6/gogs/run @@ -1,26 +1,8 @@ #!/bin/sh -USER=git -if ! test -d /data/gogs; then - mkdir -p /data/gogs/data /data/gogs/conf /data/gogs/log /data/git +if test -f ./setup; then + source ./setup 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=${GOGS_CUSTOM}" > ~git/.ssh/environment - chmod 600 ~git/.ssh/environment -fi - -cd /app/gogs - -ln -sf /data/gogs/log ./log -ln -sf /data/gogs/data ./data - -chown -R git:git /data /app/gogs ~git/ - -export USER +export USER=git exec gosu $USER /app/gogs/gogs web diff --git a/docker/s6/gogs/setup b/docker/s6/gogs/setup new file mode 100755 index 00000000..6270d551 --- /dev/null +++ b/docker/s6/gogs/setup @@ -0,0 +1,22 @@ +#!/bin/sh + +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=${GOGS_CUSTOM}" > ~git/.ssh/environment + chmod 600 ~git/.ssh/environment +fi + +cd /app/gogs + +ln -sf /data/gogs/log ./log +ln -sf /data/gogs/data ./data + +chown -R git:git /data /app/gogs ~git/ diff --git a/docker/s6/openssh/run b/docker/s6/openssh/run index 444863a5..99172aab 100755 --- a/docker/s6/openssh/run +++ b/docker/s6/openssh/run @@ -1,15 +1,7 @@ #!/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/* +if test -f ./setup; then + source ./setup fi exec gosu root /usr/sbin/sshd -D -f /app/gogs/docker/sshd_config diff --git a/docker/s6/openssh/setup b/docker/s6/openssh/setup new file mode 100755 index 00000000..5997a336 --- /dev/null +++ b/docker/s6/openssh/setup @@ -0,0 +1,12 @@ +#!/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 -- cgit v1.2.3