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/single | |
parent | 7af59c54fc1fcf9d19927e76be49318689684f8b (diff) | |
download | gitlab-ce-e8edd20bfd4f27a3dc644a86b667e1d2900b729e.tar.gz |
Made a single docker file.
Diffstat (limited to 'docker/single')
-rw-r--r-- | docker/single/Dockerfile | 35 | ||||
-rwxr-xr-x | docker/single/assets/wrapper | 16 | ||||
-rw-r--r-- | docker/single/marathon.json | 31 |
3 files changed, 82 insertions, 0 deletions
diff --git a/docker/single/Dockerfile b/docker/single/Dockerfile new file mode 100644 index 00000000000..8cdc24cf045 --- /dev/null +++ b/docker/single/Dockerfile @@ -0,0 +1,35 @@ +FROM ubuntu:14.04 +MAINTAINER Sytse Sijbrandij + +# Install required packages +RUN apt-get update +ENV DEBIAN_FRONTEND noninteractive +RUN apt-get install -yq --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"] diff --git a/docker/single/assets/wrapper b/docker/single/assets/wrapper new file mode 100755 index 00000000000..966b2cab4a1 --- /dev/null +++ b/docker/single/assets/wrapper @@ -0,0 +1,16 @@ +#!/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() { + /opt/gitlab/embedded/bin/runsvdir-start & + gitlab-ctl reconfigure # will also start everything + gitlab-ctl tail # tail all logs +} + +entrypoint diff --git a/docker/single/marathon.json b/docker/single/marathon.json new file mode 100644 index 00000000000..2c15315e7aa --- /dev/null +++ b/docker/single/marathon.json @@ -0,0 +1,31 @@ +{ + "id": "/gitlab", + "ports": [0,0], + "cpus": 2, + "mem": 2048.0, + "disk": 10240.0, + "container": { + "type": "DOCKER", + "docker": { + "network": "HOST", + "image": "sytse/gitlab-ce:7.10.1" + }, + "volumes": [ + { + "containerPath": "/var/opt/gitlab", + "hostPath": "/var/opt/gitlab", + "mode": "RW" + }, + { + "containerPath": "/var/log/gitlab", + "hostPath": "/var/log/gitlab", + "mode": "RW" + }, + { + "containerPath": "/var/opt/gitlab", + "hostPath": "/var/opt/gitlab", + "mode": "RW" + } + ] + } +}
\ No newline at end of file |