summaryrefslogtreecommitdiff
path: root/docker/single
diff options
context:
space:
mode:
authorSytse Sijbrandij <sytse@gitlab.com>2015-05-06 15:32:29 +0200
committerSytse Sijbrandij <sytse@gitlab.com>2015-05-06 15:32:29 +0200
commite8edd20bfd4f27a3dc644a86b667e1d2900b729e (patch)
tree9f59b87d6572785f34913ffee23994f4645d5ca6 /docker/single
parent7af59c54fc1fcf9d19927e76be49318689684f8b (diff)
downloadgitlab-ce-e8edd20bfd4f27a3dc644a86b667e1d2900b729e.tar.gz
Made a single docker file.
Diffstat (limited to 'docker/single')
-rw-r--r--docker/single/Dockerfile35
-rwxr-xr-xdocker/single/assets/wrapper16
-rw-r--r--docker/single/marathon.json31
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