From 85d7020920c691fcadd0db86ae461692bbb79579 Mon Sep 17 00:00:00 2001 From: Romain de Laage <romain.delaage@rdelaage.ovh> Date: Thu, 29 Oct 2020 08:59:29 +0100 Subject: [PATCH] [WhiteBoard] Some enhancement in Dockerfile et entrypoint --- pica-whiteboard/Dockerfile | 13 ++++++------- pica-whiteboard/docker-compose.yml | 20 +++++++++++++------- pica-whiteboard/entrypoint.sh | 8 ++++++-- 3 files changed, 25 insertions(+), 16 deletions(-) diff --git a/pica-whiteboard/Dockerfile b/pica-whiteboard/Dockerfile index 9ca876f7..a59a8c5d 100644 --- a/pica-whiteboard/Dockerfile +++ b/pica-whiteboard/Dockerfile @@ -1,22 +1,21 @@ FROM node:14.2.0-alpine3.11 ENV WBVERSION=1.5 \ - SCVERSION=0.1.9 + SCVERSION=0.1.11 -RUN mkdir -p /opt/app && \ - apk add --no-cache --virtual .download ca-certificates wget && \ +RUN apk add --no-cache --virtual .download ca-certificates wget && \ 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 && \ + tar -C /opt -xzvf v$WBVERSION.tar.gz && \ rm v$WBVERSION.tar.gz && \ - cd /opt/app/whiteboard-$WBVERSION && \ + mv /opt/whiteboard-$WBVERSION /opt/whiteboard && \ + cd /opt/whiteboard && \ npm ci && \ apk del .download -ADD crontab /opt/app/whiteboard-$WBVERSION/crontab -ADD entrypoint.sh /entrypoint.sh +ADD entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh diff --git a/pica-whiteboard/docker-compose.yml b/pica-whiteboard/docker-compose.yml index 2e4c6c43..f8733545 100644 --- a/pica-whiteboard/docker-compose.yml +++ b/pica-whiteboard/docker-compose.yml @@ -1,16 +1,22 @@ -version: '3' +version: '3.7' services: - app: - image: wb + whiteboard-app: + image: registry.picasoft.net/pica-whiteboard:1.5 + container_name: whiteboard-app build: . + volumes: + - /etc/localtime:/etc/localtime:ro networks: - proxy labels: - traefik.http.routers.etherpad-app.entrypoints: websecure - traefik.http.routers.etherpad-app.rule: Host(`wb.test.picasoft.net`) - traefik.http.services.etherpad-app.loadbalancer.server.port: 8080 + traefik.http.routers.whiteboard-app.entrypoints: websecure + traefik.http.routers.whiteboard-app.rule: Host(`whiteboard.picasoft.net`) + traefik.http.services.whiteboard-app.loadbalancer.server.port: 8080 traefik.enable: true - restart: always + environment: + STOP_APP: "0 0 * * *" + RESTART_APP: "1 0 * * *" + restart: unless-stopped networks: proxy: diff --git a/pica-whiteboard/entrypoint.sh b/pica-whiteboard/entrypoint.sh index 8e9decd9..eee67969 100644 --- a/pica-whiteboard/entrypoint.sh +++ b/pica-whiteboard/entrypoint.sh @@ -1,5 +1,9 @@ #! /bin/sh -cd /opt/app/whiteboard-1.5 +cd /opt/whiteboard +cat << EOF > crontab +$STOP_APP pkill node +$RESTART_APP cd /opt/whiteboard && node server.js --mode=production +EOF node server.js --mode=production & -supercronic /opt/app/whiteboard-1.5/crontab +supercronic crontab -- GitLab