summaryrefslogtreecommitdiff
path: root/docker/single/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'docker/single/Dockerfile')
-rw-r--r--docker/single/Dockerfile35
1 files changed, 35 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"]