debian-mirror-gitlab/docker/Dockerfile

48 lines
1.6 KiB
Docker
Raw Normal View History

2015-04-26 12:48:37 +05:30
FROM ubuntu:14.04
2015-09-11 14:41:01 +05:30
MAINTAINER Sytse Sijbrandij
2015-04-26 12:48:37 +05:30
# Install required packages
RUN apt-get update -q \
2015-09-11 14:41:01 +05:30
&& DEBIAN_FRONTEND=noninteractive apt-get install -yq --no-install-recommends \
2015-04-26 12:48:37 +05:30
ca-certificates \
openssh-server \
2015-09-11 14:41:01 +05:30
wget \
apt-transport-https \
vim \
nano
2015-04-26 12:48:37 +05:30
# Download & Install GitLab
# If you run GitLab Enterprise Edition point it to a location where you have downloaded it.
2015-09-11 14:41:01 +05:30
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
2015-04-26 12:48:37 +05:30
# 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
2015-09-11 14:41:01 +05:30
# 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 && \
mkdir -p /assets/ && \
cp /etc/gitlab/gitlab.rb /assets/gitlab.rb
2015-04-26 12:48:37 +05:30
# Expose web & ssh
2015-09-11 14:41:01 +05:30
EXPOSE 443 80 22
# Define data volumes
VOLUME ["/etc/gitlab", "/var/opt/gitlab", "/var/log/gitlab"]
2015-04-26 12:48:37 +05:30
# Copy assets
COPY assets/wrapper /usr/local/bin/
# Wrapper to handle signal, trigger runit and reconfigure GitLab
CMD ["/usr/local/bin/wrapper"]