Dockerfile 1.2 KB
Newer Older
1
FROM ubuntu:14.04
S
Sytse Sijbrandij 已提交
2
MAINTAINER Sytse Sijbrandij
3 4

# Install required packages
S
Sytse Sijbrandij 已提交
5 6 7
RUN apt-get update
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get install -yq --no-install-recommends \
K
kfei 已提交
8
      ca-certificates \
9
      openssh-server \
K
kfei 已提交
10
      wget
11 12

# Download & Install GitLab
13
# If the Omnibus package version below is outdated please contribute a merge request to update it.
14
# If you run GitLab Enterprise Edition point it to a location where you have downloaded it.
15
RUN TMP_FILE=$(mktemp); \
J
Jakob Englisch 已提交
16
    wget -q -O $TMP_FILE https://downloads-packages.s3.amazonaws.com/ubuntu-14.04/gitlab-ce_7.10.1~omnibus.2-1_amd64.deb \
17 18 19 20 21 22 23 24 25 26 27 28 29 30
    && 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

31 32 33 34
# Copy assets
COPY assets/wrapper /usr/local/bin/

# Wrapper to handle signal, trigger runit and reconfigure GitLab
S
Sytse Sijbrandij 已提交
35
CMD ["/usr/local/bin/wrapper"]