708c39ff57
Separate Dockerfile for Data and Application This is based on #1158 Instead of creating data container from same docker image, we create separate docker image for data container to avoid keeping original docker image after upgrading to new version. (That results in 1GB space that cannot be freed) See merge request !409
33 lines
1.1 KiB
Docker
33 lines
1.1 KiB
Docker
FROM ubuntu:14.04
|
|
|
|
# Install required packages
|
|
RUN apt-get update -q \
|
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -qy --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_7.9.0-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"]
|