nginx-proxy-manager/Dockerfile
2018-07-26 16:42:07 +10:00

46 lines
1.8 KiB
Docker

FROM jc21/node
MAINTAINER Jamie Curnow <jc@jc21.com>
LABEL maintainer="Jamie Curnow <jc@jc21.com>"
ENV SUPPRESS_NO_CONFIG_WARNING=1
ENV S6_FIX_ATTRS_HIDDEN=1
RUN echo "fs.file-max = 65535" > /etc/sysctl.conf
# Nginx, letsencrypt and other packages
RUN apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y curl ca-certificates apt-transport-https \
&& apt-key adv --fetch-keys http://dl.yarnpkg.com/debian/pubkey.gpg \
&& apt-key adv --fetch-keys http://nginx.org/keys/nginx_signing.key \
&& echo "deb http://nginx.org/packages/mainline/debian/ jessie nginx" > /etc/apt/sources.list.d/nginx.list \
&& echo "deb https://dl.yarnpkg.com/debian/ stable main" > /etc/apt/sources.list.d/yarn.list \
&& echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backports.list \
&& apt-get update \
&& apt-get install --no-install-recommends --no-install-suggests -y \
gnupg openssl dirmngr apt-transport-https wget \
inetutils-ping build-essential apache2-utils yarn nginx \
&& apt-get install --no-install-recommends --no-install-suggests -y certbot letsencrypt -t jessie-backports \
&& apt-get clean
# root filesystem
COPY rootfs /
# s6 overlay
RUN curl -L -o /tmp/s6-overlay-amd64.tar.gz "https://github.com/just-containers/s6-overlay/releases/download/v1.21.4.0/s6-overlay-amd64.tar.gz" \
&& tar xzf /tmp/s6-overlay-amd64.tar.gz -C /
# App
ENV NODE_ENV=production
ADD dist /srv/app/dist
ADD node_modules /srv/app/node_modules
ADD src/backend /srv/app/src/backend
ADD package.json /srv/app/package.json
ADD knexfile.js /srv/app/knexfile.js
# Volumes
VOLUME [ "/data", "/etc/letsencrypt" ]
CMD [ "/init" ]
HEALTHCHECK --interval=15s --timeout=3s CMD curl -f http://localhost:9876/health || exit 1