diff options
author | Sytse Sijbrandij <sytse@gitlab.com> | 2015-05-06 15:32:29 +0200 |
---|---|---|
committer | Sytse Sijbrandij <sytse@gitlab.com> | 2015-05-06 15:32:29 +0200 |
commit | e8edd20bfd4f27a3dc644a86b667e1d2900b729e (patch) | |
tree | 9f59b87d6572785f34913ffee23994f4645d5ca6 /docker/app | |
parent | 7af59c54fc1fcf9d19927e76be49318689684f8b (diff) | |
download | gitlab-ce-e8edd20bfd4f27a3dc644a86b667e1d2900b729e.tar.gz |
Made a single docker file.
Diffstat (limited to 'docker/app')
-rw-r--r-- | docker/app/Dockerfile | 33 | ||||
-rwxr-xr-x | docker/app/assets/wrapper | 17 |
2 files changed, 50 insertions, 0 deletions
diff --git a/docker/app/Dockerfile b/docker/app/Dockerfile new file mode 100644 index 00000000000..df828a2a349 --- /dev/null +++ b/docker/app/Dockerfile @@ -0,0 +1,33 @@ +FROM ubuntu:14.04 + +# Install required packages +RUN apt-get update -q \ + && DEBIAN_FRONTEND=noninteractive apt-get install -qy --no-install-recommends \ + ca-certificates \ + openssh-server \ + wget + +# Download & Install GitLab +# If the Omnibus package version below is outdated please contribute a merge request to update it. +# If you run GitLab Enterprise Edition point it to a location where you have downloaded it. +RUN TMP_FILE=$(mktemp); \ + wget -q -O $TMP_FILE https://downloads-packages.s3.amazonaws.com/ubuntu-14.04/gitlab-ce_7.10.1~omnibus.2-1_amd64.deb \ + && dpkg -i $TMP_FILE \ + && rm -f $TMP_FILE + +# Manage SSHD through runit +RUN mkdir -p /opt/gitlab/sv/sshd/supervise \ + && mkfifo /opt/gitlab/sv/sshd/supervise/ok \ + && printf "#!/bin/sh\nexec 2>&1\numask 077\nexec /usr/sbin/sshd -D" > /opt/gitlab/sv/sshd/run \ + && chmod a+x /opt/gitlab/sv/sshd/run \ + && ln -s /opt/gitlab/sv/sshd /opt/gitlab/service \ + && mkdir -p /var/run/sshd + +# Expose web & ssh +EXPOSE 80 22 + +# Copy assets +COPY assets/wrapper /usr/local/bin/ + +# Wrapper to handle signal, trigger runit and reconfigure GitLab +CMD ["/usr/local/bin/wrapper"]
\ No newline at end of file diff --git a/docker/app/assets/wrapper b/docker/app/assets/wrapper new file mode 100755 index 00000000000..9e6e7a05903 --- /dev/null +++ b/docker/app/assets/wrapper @@ -0,0 +1,17 @@ +#!/bin/bash + +function sigterm_handler() { + echo "SIGTERM signal received, try to gracefully shutdown all services..." + gitlab-ctl stop +} + +trap "sigterm_handler; exit" TERM + +function entrypoint() { + # Default is to run runit and reconfigure GitLab + gitlab-ctl reconfigure & + /opt/gitlab/embedded/bin/runsvdir-start & + wait +} + +entrypoint |