## The versions in this file are hardcoded for audit purposes, and should not be changed.
FROM registry:2.4.1

ENV NGINX_VERSION 1.12.0-1~jessie
ENV NJS_VERSION 1.12.0.0.1.10-1~jessie
ENV GETTEXT_VERSION 0.19.3-2

RUN apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 \
  && echo "deb http://nginx.org/packages/debian/ jessie nginx" >> /etc/apt/sources.list \
  && apt-get update \
  && apt-get install --no-install-recommends --no-install-suggests -y \
            nginx=${NGINX_VERSION} \
            nginx-module-xslt=${NGINX_VERSION} \
            nginx-module-geoip=${NGINX_VERSION} \
            nginx-module-image-filter=${NGINX_VERSION} \
            nginx-module-perl=${NGINX_VERSION} \
            nginx-module-njs=${NJS_VERSION} \
            gettext-base=${GETTEXT_VERSION} \
  && rm -rf /var/lib/apt/lists/*

# forward request and error logs to docker log collector
RUN ln -sf /dev/stdout /var/log/nginx/access.log \
  && ln -sf /dev/stderr /var/log/nginx/error.log

COPY registry-config.yml /etc/docker/registry/config.yml
COPY default.conf /etc/nginx/conf.d/default.conf

EXPOSE 80 443 5000

ENTRYPOINT []
