45 lines
1.5 KiB
Docker
45 lines
1.5 KiB
Docker
|
FROM jc21/node:armhf
|
||
|
|
||
|
MAINTAINER Jamie Curnow <jc@jc21.com>
|
||
|
LABEL maintainer="Jamie Curnow <jc@jc21.com>"
|
||
|
|
||
|
RUN [ "cross-build-start" ]
|
||
|
|
||
|
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 ca-certificates apt-transport-https \
|
||
|
&& 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 nginx-full \
|
||
|
inetutils-ping build-essential apache2-utils \
|
||
|
&& 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-armhf.tar.gz" \
|
||
|
&& tar xzf /tmp/s6-overlay-armhf.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
|
||
|
|
||
|
RUN [ "cross-build-end" ]
|
||
|
|
||
|
# Volumes
|
||
|
VOLUME [ "/data", "/etc/letsencrypt" ]
|
||
|
CMD [ "/init" ]
|
||
|
|
||
|
HEALTHCHECK --interval=15s --timeout=3s CMD curl -f http://localhost:9876/health || exit 1
|