diff --git a/docker/Dockerfile b/docker/Dockerfile index 34ee5c44..07e215de 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -3,7 +3,7 @@ # This file assumes that the frontend has been built using ./scripts/frontend-build -FROM --platform=${TARGETPLATFORM:-linux/amd64} jc21/alpine-nginx-full:node +FROM --platform=${TARGETPLATFORM:-linux/amd64} jc21/nginx-full:node ARG TARGETPLATFORM ARG BUILDPLATFORM @@ -11,41 +11,47 @@ ARG BUILD_VERSION ARG BUILD_COMMIT ARG BUILD_DATE -ENV SUPPRESS_NO_CONFIG_WARNING=1 -ENV S6_FIX_ATTRS_HIDDEN=1 -ENV S6_BEHAVIOUR_IF_STAGE2_FAILS=1 -ENV NODE_ENV=production +ENV SUPPRESS_NO_CONFIG_WARNING=1 \ + S6_FIX_ATTRS_HIDDEN=1 \ + S6_BEHAVIOUR_IF_STAGE2_FAILS=1 \ + NODE_ENV=production \ + NPM_BUILD_VERSION="${BUILD_VERSION}" \ + NPM_BUILD_COMMIT="${BUILD_COMMIT}" \ + NPM_BUILD_DATE="${BUILD_DATE}" RUN echo "fs.file-max = 65535" > /etc/sysctl.conf \ - && apk update \ - && apk add python3 certbot jq \ - && python3 -m ensurepip \ - && rm -rf /var/cache/apk/* - -ENV NPM_BUILD_VERSION="${BUILD_VERSION}" NPM_BUILD_COMMIT="${BUILD_COMMIT}" NPM_BUILD_DATE="${BUILD_DATE}" + && apt-get update \ + && apt-get install -y certbot jq python3-pip \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* # s6 overlay COPY scripts/install-s6 /tmp/install-s6 RUN /tmp/install-s6 "${TARGETPLATFORM}" && rm -f /tmp/install-s6 -EXPOSE 80 -EXPOSE 81 -EXPOSE 443 +EXPOSE 80 81 443 -ADD backend /app -ADD frontend/dist /app/frontend -COPY global /app/global +COPY backend /app +COPY frontend/dist /app/frontend +COPY global /app/global WORKDIR /app RUN yarn install # add late to limit cache-busting by modifications -COPY docker/rootfs / +COPY docker/rootfs / # Remove frontend service not required for prod, dev nginx config as well RUN rm -rf /etc/services.d/frontend RUN rm -f /etc/nginx/conf.d/dev.conf VOLUME [ "/data", "/etc/letsencrypt" ] ENTRYPOINT [ "/init" ] - HEALTHCHECK --interval=5s --timeout=3s CMD /bin/check-health + +LABEL org.label-schema.schema-version="1.0" \ + org.label-schema.license="MIT" \ + org.label-schema.name="nginx-proxy-manager" \ + org.label-schema.description="Docker container for managing Nginx proxy hosts with a simple, powerful interface " \ + org.label-schema.url="https://github.com/jc21/nginx-proxy-manager" \ + org.label-schema.vcs-url="https://github.com/jc21/nginx-proxy-manager.git" \ + org.label-schema.cmd="docker run --rm -ti jc21/nginx-proxy-manager:latest" diff --git a/docker/dev/Dockerfile b/docker/dev/Dockerfile index 1e4bdad8..ae17e861 100644 --- a/docker/dev/Dockerfile +++ b/docker/dev/Dockerfile @@ -1,15 +1,15 @@ -FROM jc21/alpine-nginx-full:node +FROM jc21/nginx-full:node LABEL maintainer="Jamie Curnow " -ENV S6_LOGGING=0 -ENV SUPPRESS_NO_CONFIG_WARNING=1 -ENV S6_FIX_ATTRS_HIDDEN=1 +ENV S6_LOGGING=0 \ + SUPPRESS_NO_CONFIG_WARNING=1 \ + S6_FIX_ATTRS_HIDDEN=1 RUN echo "fs.file-max = 65535" > /etc/sysctl.conf \ - && apk update \ - && apk add python3 certbot jq \ - && python3 -m ensurepip \ - && rm -rf /var/cache/apk/* + && apt-get update \ + && apt-get install -y certbot jq python3-pip \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* # Task RUN cd /usr \ @@ -23,10 +23,6 @@ RUN rm -f /etc/nginx/conf.d/production.conf RUN curl -L -o /tmp/s6-overlay-amd64.tar.gz "https://github.com/just-containers/s6-overlay/releases/download/v1.22.1.0/s6-overlay-amd64.tar.gz" \ && tar -xzf /tmp/s6-overlay-amd64.tar.gz -C / -EXPOSE 80 -EXPOSE 81 -EXPOSE 443 - +EXPOSE 80 81 443 ENTRYPOINT [ "/init" ] - -HEALTHCHECK --interval=5s --timeout=3s CMD /bin/check-health \ No newline at end of file +HEALTHCHECK --interval=5s --timeout=3s CMD /bin/check-health diff --git a/scripts/frontend-build b/scripts/frontend-build index 45c6d599..162502ca 100755 --- a/scripts/frontend-build +++ b/scripts/frontend-build @@ -3,7 +3,7 @@ DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" . "$DIR/.common.sh" -DOCKER_IMAGE=jc21/alpine-nginx-full:node +DOCKER_IMAGE=jc21/nginx-full:node # Ensure docker exists if hash docker 2>/dev/null; then