diff --git a/pica-whiteboard/Dockerfile b/pica-whiteboard/Dockerfile index 9ca876f72d11714592b0b8018ad3edd2b56fab70..a59a8c5db0def6ee5c50aaeeb66c983eac0d4b61 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 2e4c6c431ced820c631c83811a5b60199da71860..f8733545805657d17712d4ffa470588b4b2e6aaa 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 8e9decd93d3153fca9f21a4bf6d67f72fdf0ea02..eee67969ad9c8d62743fa44b9e16269464a7204c 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