From bb1893719d677bca66b3f025c7275b528d371937 Mon Sep 17 00:00:00 2001 From: Mitchell R Date: Sun, 24 May 2026 02:24:08 +0200 Subject: [PATCH] fix(docker): BSB v9 tag + package:betterframe plugin resolution - Base image: betterweb/service-base:9 (was :node which is v8) - Plugin path: /home/bsb/node_modules/betterframe/ (flat pkg name) - sec-config template: added package: betterframe to all 4 services so BSB resolves plugins from the correct npm package Co-Authored-By: Claude Opus 4.6 (1M context) --- deploy/docker/Dockerfile.server | 12 ++++++------ sec-config.template.yaml | 4 ++++ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/deploy/docker/Dockerfile.server b/deploy/docker/Dockerfile.server index 007f9ed..2e1ce69 100644 --- a/deploy/docker/Dockerfile.server +++ b/deploy/docker/Dockerfile.server @@ -23,7 +23,7 @@ WORKDIR /app/server RUN npm run build # ---- Runtime ---- -FROM betterweb/service-base:node +FROM betterweb/service-base:9 ARG BF_SERVER_VERSION=dev ARG BF_DB_DRIVER=postgres @@ -49,11 +49,11 @@ RUN mkdir -p /var/lib/betterframe && chown 1000:1000 /var/lib/betterframe # Install plugin into BSB's node_modules (searched at /home/bsb/node_modules) # /mnt/bsb-plugins is a VOLUME in base image — writes lost at runtime -COPY --from=builder /app/server/package.json /home/bsb/node_modules/@betterframe/server/package.json -COPY --from=builder /app/server/bsb-plugin.json /home/bsb/node_modules/@betterframe/server/bsb-plugin.json -COPY --from=builder /app/server/lib /home/bsb/node_modules/@betterframe/server/lib -COPY --from=builder /app/node_modules /home/bsb/node_modules/@betterframe/server/node_modules -COPY --from=builder /app/tsconfig.base.json /home/bsb/node_modules/@betterframe/server/tsconfig.base.json +COPY --from=builder /app/server/package.json /home/bsb/node_modules/betterframe/package.json +COPY --from=builder /app/server/bsb-plugin.json /home/bsb/node_modules/betterframe/bsb-plugin.json +COPY --from=builder /app/server/lib /home/bsb/node_modules/betterframe/lib +COPY --from=builder /app/node_modules /home/bsb/node_modules/betterframe/node_modules +COPY --from=builder /app/tsconfig.base.json /home/bsb/node_modules/betterframe/tsconfig.base.json # Generate sec-config.yaml from template + build args COPY sec-config.template.yaml /tmp/sec-config.template.yaml diff --git a/sec-config.template.yaml b/sec-config.template.yaml index 6248e8c..b2bbcc0 100644 --- a/sec-config.template.yaml +++ b/sec-config.template.yaml @@ -18,6 +18,7 @@ default: enabled: true services: service-store: + package: betterframe plugin: service-store enabled: true config: @@ -31,6 +32,7 @@ default: pgPoolMax: ${BF_PG_POOL_MAX:-10} service-admin-http: + package: betterframe plugin: service-admin-http enabled: true config: @@ -54,6 +56,7 @@ default: otaImportApiKey: "${BF_OTA_IMPORT_API_KEY:-}" service-api-http: + package: betterframe plugin: service-api-http enabled: true config: @@ -73,6 +76,7 @@ default: mqttTopicPrefix: ${BF_MQTT_TOPIC_PREFIX:-betterframe} service-coordinator-ws: + package: betterframe plugin: service-coordinator-ws enabled: true config: