Dockerfile 1.18 KB
Newer Older
1
FROM ubuntu:14.04
Sytse Sijbrandij's avatar
Sytse Sijbrandij committed
2
MAINTAINER Sytse Sijbrandij
3 4

# Install required packages
5 6
RUN apt-get update -q \
    && DEBIAN_FRONTEND=noninteractive apt-get install -yq --no-install-recommends \
kfei's avatar
kfei committed
7
      ca-certificates \
8
      openssh-server \
9 10
      wget \
      apt-transport-https
11 12

# Download & Install GitLab
13
# If you run GitLab Enterprise Edition point it to a location where you have downloaded it.
14 15 16
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
17 18 19 20 21 22 23 24 25 26 27 28

# 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

29 30 31 32
# Copy assets
COPY assets/wrapper /usr/local/bin/

# Wrapper to handle signal, trigger runit and reconfigure GitLab
Sytse Sijbrandij's avatar
Sytse Sijbrandij committed
33
CMD ["/usr/local/bin/wrapper"]