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) <noreply@anthropic.com>
This commit is contained in:
Mitchell R 2026-05-24 02:24:08 +02:00
parent 80843367d0
commit bb1893719d
No known key found for this signature in database
2 changed files with 10 additions and 6 deletions

View file

@ -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

View file

@ -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: