diff --git a/Dockerfile b/Dockerfile index 764a86d..9ca876f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,16 +1,25 @@ FROM node:14.2.0-alpine3.11 -ENV VERSION=1.5 +ENV WBVERSION=1.5 \ + SCVERSION=0.1.9 RUN mkdir -p /opt/app && \ apk add --no-cache --virtual .download ca-certificates wget && \ - wget https://github.com/cracker0dks/whiteboard/archive/v$VERSION.tar.gz && \ - tar -C /opt/app -xzf v$VERSION.tar.gz && \ - rm v$VERSION.tar.gz && \ - cd /opt/app/whiteboard-$VERSION && \ + wget https://github.com/cracker0dks/whiteboard/archive/v$WBVERSION.tar.gz && \ + wget https://github.com/aptible/supercronic/releases/download/v$SCVERSION/supercronic-linux-amd64 && \ + chmod +x supercronic-linux-amd64 && \ + mv supercronic-linux-amd64 /usr/local/bin/supercronic && \ + tar -C /opt/app -xzf v$WBVERSION.tar.gz && \ + rm v$WBVERSION.tar.gz && \ + cd /opt/app/whiteboard-$WBVERSION && \ npm ci && \ apk del .download +ADD crontab /opt/app/whiteboard-$WBVERSION/crontab +ADD entrypoint.sh /entrypoint.sh + +RUN chmod +x /entrypoint.sh + EXPOSE 8080 -ENTRYPOINT ["node", "/opt/app/whiteboard-1.5/server.js", "--mode=production"] +ENTRYPOINT ["/entrypoint.sh"] diff --git a/crontab b/crontab new file mode 100644 index 0000000..a05dbe1 --- /dev/null +++ b/crontab @@ -0,0 +1,2 @@ +30 * * * * pkill node +31 * * * * node /opt/app/whiteboard-1.5/server.js --mode=production diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100644 index 0000000..caaf474 --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,4 @@ +#! /bin/sh + +node /opt/app/whiteboard-1.5/server.js --mode=production & +supercronic /opt/app/whiteboard-1.5/crontab