From fa3d7c51fabcb8b2ede86cd59ba10b29047d0d37 Mon Sep 17 00:00:00 2001 From: Sander Bruens Date: Tue, 3 Sep 2024 14:00:35 -0400 Subject: [PATCH] fix(server): fix version parsing (#1586) * fix(server): fix version parsing * Revert to `SB_VERSION` and set it in the `Node.js` app build step. * Revert port change. * Set `SB_VERSION` env variable only where it's needed. --- src/shadowbox/Taskfile.yml | 13 +++++++------ src/shadowbox/docker/Dockerfile | 4 ++-- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/shadowbox/Taskfile.yml b/src/shadowbox/Taskfile.yml index f56b5100..fb72a9b8 100644 --- a/src/shadowbox/Taskfile.yml +++ b/src/shadowbox/Taskfile.yml @@ -27,13 +27,14 @@ tasks: TARGET_DIR: '{{.TARGET_DIR | default (joinPath .OUTPUT_BASE .TARGET_OS .TARGET_ARCH)}}' NODE_DIR: '{{joinPath .TARGET_DIR "app"}}' BIN_DIR: '{{joinPath .TARGET_DIR "bin"}}' + VERSION: '{{.VERSION}}' cmds: - echo Target platform is {{.TARGET_OS}}/{{.TARGET_ARCH}} - rm -rf '{{.TARGET_DIR}}' - mkdir -p '{{.TARGET_DIR}}' - cp '{{joinPath .TASKFILE_DIR "package.json"}}' '{{.TARGET_DIR}}' # Build Node.js app - - npx webpack --config='{{joinPath .TASKFILE_DIR "webpack.config.js"}}' --output-path='{{.NODE_DIR}}' ${BUILD_ENV:+--mode="${BUILD_ENV}"} + - SB_VERSION={{.VERSION}} npx webpack --config='{{joinPath .TASKFILE_DIR "webpack.config.js"}}' --output-path='{{.NODE_DIR}}' ${BUILD_ENV:+--mode="${BUILD_ENV}"} # Copy third_party dependencies - task: ':third_party:prometheus:copy-{{.TARGET_OS}}-{{.GOARCH}}' vars: {TARGET_DIR: '{{.BIN_DIR}}'} @@ -64,7 +65,7 @@ tasks: - echo "Using directory {{.RUN_DIR}}" - mkdir -p '{{.STATE_DIR}}' - echo '{"hostname":"127.0.0.1"}' > "{{.STATE_CONFIG}}" - - task: make_test_certificate + - task: make_test_certificate vars: {OUTPUT_DIR: '{{.RUN_DIR}}'} - node '{{joinPath .OUTPUT_BASE .TARGET_OS .TARGET_ARCH "app/main.js"}}' @@ -82,7 +83,7 @@ tasks: (dict "x86_64" "node@sha256:a0b787b0d53feacfa6d606fb555e0dbfebab30573277f1fe25148b05b66fa097" "arm64" "node@sha256:b4b7a1dd149c65ee6025956ac065a843b4409a62068bd2b0cbafbb30ca2fab3b" - ) .TARGET_ARCH + ) .TARGET_ARCH }}' env: DOCKER_CONTENT_TRUST: '{{.DOCKER_CONTENT_TRUST | default "1"}}' @@ -91,7 +92,7 @@ tasks: cmds: - rm -rf '{{.IMAGE_ROOT}}' - mkdir -p '{{.IMAGE_ROOT}}' - - {task: build, vars: {TARGET_OS: linux, TARGET_ARCH: '{{.TARGET_ARCH}}', TARGET_DIR: '{{joinPath .IMAGE_ROOT "/opt/outline-server"}}'}} + - {task: build, vars: {VERSION: '{{.VERSION}}', TARGET_OS: linux, TARGET_ARCH: '{{.TARGET_ARCH}}', TARGET_DIR: '{{joinPath .IMAGE_ROOT "/opt/outline-server"}}'}} - cp -R '{{joinPath .TASKFILE_DIR "scripts"}}' '{{.IMAGE_ROOT}}/scripts' - mkdir -p '{{joinPath .IMAGE_ROOT "/etc/periodic/weekly"}}' - cp '{{joinPath .TASKFILE_DIR "scripts" "update_mmdb.sh"}}' '{{joinPath .IMAGE_ROOT "/etc/periodic/weekly/"}}' @@ -128,7 +129,7 @@ tasks: - rm -rf '{{.RUN_DIR}}' - mkdir -p '{{.HOST_STATE_DIR}}' - echo '{"hostname":"127.0.0.1"}' > "{{.STATE_CONFIG}}" - - task: make_test_certificate + - task: make_test_certificate vars: {OUTPUT_DIR: '{{.HOST_STATE_DIR}}'} - | docker_command=( @@ -143,7 +144,7 @@ tasks: {{- end}} # Where the container keeps its persistent state. - -v "{{.HOST_STATE_DIR}}:{{.CONTAINER_STATE_DIR}}" + -v "{{.HOST_STATE_DIR}}:{{.CONTAINER_STATE_DIR}}" -e "SB_STATE_DIR={{.CONTAINER_STATE_DIR}}" # Port number and path prefix used by the server manager API. diff --git a/src/shadowbox/docker/Dockerfile b/src/shadowbox/docker/Dockerfile index b1aa160c..c9d27db7 100644 --- a/src/shadowbox/docker/Dockerfile +++ b/src/shadowbox/docker/Dockerfile @@ -13,9 +13,9 @@ # limitations under the License. ARG NODE_IMAGE -ARG VERSION FROM ${NODE_IMAGE} +ARG VERSION # Save metadata on the software versions we are using. LABEL shadowbox.node_version=16.18.0 @@ -36,4 +36,4 @@ RUN /etc/periodic/weekly/update_mmdb.sh # Install shadowbox. WORKDIR /opt/outline-server -CMD /cmd.sh +CMD ["/cmd.sh"]