From ac8778f8af0bd97f295f3b65e6a1b7b545650ad3 Mon Sep 17 00:00:00 2001 From: Philipp Date: Wed, 19 Jun 2024 21:49:42 +0000 Subject: [PATCH] move frontend compile into runtime task --- .devcontainer/Dockerfile | 24 ++----------------- ...ocker-compose.devcontainer.sqlite-tika.yml | 2 +- .devcontainer/vscode/tasks.json | 20 +++++++++++++++- 3 files changed, 22 insertions(+), 24 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 28f182e16..4ea571989 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,23 +1,5 @@ # syntax=docker/dockerfile:1 -# https://github.com/moby/buildkit/blob/master/frontend/dockerfile/docs/reference.md -# Stage: compile-frontend -# Purpose: Compiles the frontend -# Notes: -# - Does NPM stuff with Typescript and such -FROM --platform=$BUILDPLATFORM docker.io/node:20-bookworm-slim AS compile-frontend - -COPY ./src-ui /src/src-ui - -WORKDIR /src/src-ui -RUN set -eux \ - && npm update npm -g \ - && npm ci -RUN set -eux \ - && ./node_modules/.bin/ng build --configuration production - -# Stage: main-app -# Purpose: The final image FROM --platform=$BUILDPLATFORM docker.io/node:20-bookworm-slim as main-app ARG DEBIAN_FRONTEND=noninteractive @@ -178,10 +160,8 @@ RUN --mount=type=cache,target=/root/.cache/pip/,id=pip-cache \ && apt-get update \ && apt-get install --yes --quiet ${BUILD_PACKAGES} -WORKDIR /usr/src/paperless/paperless-ngx/ - -# copy frontend -COPY --from=compile-frontend --chown=1000:1000 /src/src/documents/static ./src/documents/static +RUN set -eux \ + && npm update npm -g # add users, setup scripts # Mount the compiled frontend to expected location diff --git a/.devcontainer/docker-compose.devcontainer.sqlite-tika.yml b/.devcontainer/docker-compose.devcontainer.sqlite-tika.yml index 548811b1b..34f5f79f4 100644 --- a/.devcontainer/docker-compose.devcontainer.sqlite-tika.yml +++ b/.devcontainer/docker-compose.devcontainer.sqlite-tika.yml @@ -69,7 +69,7 @@ services: PAPERLESS_DEBUG: true # Overrides default command so things don't shut down after the process ends. - command: /bin/sh -c "while sleep 1000; do :; done" + command: /bin/sh -c "chown -R paperless:paperless /usr/src/paperless/paperless-ngx/src/documents/static/frontend && while sleep 1000; do :; done" gotenberg: image: docker.io/gotenberg/gotenberg:7.8 diff --git a/.devcontainer/vscode/tasks.json b/.devcontainer/vscode/tasks.json index 395c2c3f3..d6c246238 100644 --- a/.devcontainer/vscode/tasks.json +++ b/.devcontainer/vscode/tasks.json @@ -56,10 +56,28 @@ "cwd": "${workspaceFolder}/src" } }, + { + "label": "compile frontend", + "type": "shell", + "command": "npm ci && ./node_modules/.bin/ng build --configuration production", + "group": "none", + "presentation": { + "echo": true, + "reveal": "always", + "focus": true, + "panel": "shared", + "showReuseMessage": false, + "clear": true, + "revealProblems": "onProblem" + }, + "options": { + "cwd": "${workspaceFolder}/src-ui" + } + }, { "label": "Maintenance: recreate .venv", "type": "shell", - "command": "rm -R -v .venv/* && pipenv install --dev", + "command": "rm -R -v .venv/* || pipenv install --dev", "group": "none", "presentation": { "echo": true,