diff options
author | Kamil Trzcinski <ayufan@ayufan.eu> | 2015-06-29 17:56:34 +0200 |
---|---|---|
committer | Kamil Trzcinski <ayufan@ayufan.eu> | 2015-07-06 16:42:52 +0200 |
commit | 954c1df256ac867635b31e82a032704e963a10ee (patch) | |
tree | 40bc344b6cec78f46d2823c25717a6810e2d9a7e /docker/Dockerfile | |
parent | 2b5007245adfd31e31fd2917902494853ecbc931 (diff) | |
download | gitlab-ce-954c1df256ac867635b31e82a032704e963a10ee.tar.gz |
Update Docker documentation to use single container
Diffstat (limited to 'docker/Dockerfile')
-rw-r--r-- | docker/Dockerfile | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 00000000000..86f6c896a6d --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,45 @@ +FROM ubuntu:14.04 +MAINTAINER Sytse Sijbrandij + +# Install required packages +RUN apt-get update -q \ + && DEBIAN_FRONTEND=noninteractive apt-get install -yq --no-install-recommends \ + ca-certificates \ + openssh-server \ + wget \ + apt-transport-https \ + vim \ + nano + +# Download & Install GitLab +# If you run GitLab Enterprise Edition point it to a location where you have downloaded it. +RUN echo "deb https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/gitlab_gitlab-ce.list +RUN wget -q -O - https://packages.gitlab.com/gpg.key | apt-key add - +RUN apt-get update && apt-get install -yq --no-install-recommends gitlab-ce + +# 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 + +# Prepare default configuration +RUN ( \ + echo "" && \ + echo "# Docker options" && \ + echo "# Prevent Postgres from trying to allocate 25% of total memory" && \ + echo "postgresql['shared_buffers'] = '1MB'" ) >> /etc/gitlab/gitlab.rb + +# Expose web & ssh +EXPOSE 443 80 22 + +# Define data volumes +VOLUME ["/etc/gitlab", "/var/opt/gitlab", "/var/log/gitlab"] + +# Copy assets +COPY assets/wrapper /usr/local/bin/ + +# Wrapper to handle signal, trigger runit and reconfigure GitLab +CMD ["/usr/local/bin/wrapper"] |