mirror of
https://github.com/BetterCorp/BetterFrame.git
synced 2026-05-26 19:06:34 +00:00
fix(docker): install plugin at /mnt/bsb-plugins for BSB discovery
BSB container mode searches /mnt/bsb-plugins/node_modules/ for plugins. Moved built output from /home/bsb to the correct external plugin path at /mnt/bsb-plugins/node_modules/@betterframe/server/. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
e5551c4591
commit
e355d6d0a2
1 changed files with 10 additions and 31 deletions
|
|
@ -1,26 +1,8 @@
|
|||
# BetterFrame server — BSB container with built plugins.
|
||||
# BetterFrame server — BSB container with plugins installed at
|
||||
# /mnt/bsb-plugins/node_modules/@betterframe/server/
|
||||
#
|
||||
# sec-config.yaml is generated at build time from sec-config.template.yaml
|
||||
# via envsubst. Secrets come from Coolify build args (set in UI, not in git).
|
||||
#
|
||||
# Build args (set in Coolify UI as secrets):
|
||||
# BF_PG_PASSWORD postgres password
|
||||
# BF_FIRMWARE_SIGNING_KEY Ed25519 PEM for firmware signing
|
||||
# BF_FIRMWARE_IMPORT_API_KEY CI bearer token
|
||||
# BF_OTA_IMPORT_API_KEY CI bearer token
|
||||
# BF_MQTT_URL mqtt://broker:1883 (optional)
|
||||
# BF_MQTT_USERNAME (optional)
|
||||
# BF_MQTT_PASSWORD (optional)
|
||||
#
|
||||
# Non-secret build args (defaults work for standard compose):
|
||||
# BF_DB_DRIVER postgres|sqlite (default: postgres)
|
||||
# BF_PG_HOST (default: postgres)
|
||||
# BF_PG_PORT (default: 5432)
|
||||
# BF_PG_DATABASE (default: betterframe)
|
||||
# BF_PG_USER (default: betterframe)
|
||||
# BF_NODERED_URL (default: http://nodered:1880)
|
||||
# BF_SELF_URL (default: http://server:18080)
|
||||
# BF_SERVER_VERSION (default: dev)
|
||||
# sec-config.yaml generated at build time from template + build args.
|
||||
# Secrets come from Coolify build args (set in UI, not in git).
|
||||
|
||||
FROM node:24-trixie-slim AS builder
|
||||
|
||||
|
|
@ -43,7 +25,6 @@ RUN npm run build
|
|||
# ---- Runtime ----
|
||||
FROM betterweb/service-base:node
|
||||
|
||||
# All config build args — secrets set in Coolify UI, not in git
|
||||
ARG BF_SERVER_VERSION=dev
|
||||
ARG BF_DB_DRIVER=postgres
|
||||
ARG BF_PG_HOST=postgres
|
||||
|
|
@ -62,17 +43,16 @@ ARG BF_MQTT_USERNAME=
|
|||
ARG BF_MQTT_PASSWORD=
|
||||
ARG BF_MQTT_TOPIC_PREFIX=betterframe
|
||||
|
||||
# Install extras (Alpine base) — run as root before BSB drops privileges
|
||||
RUN apk add --no-cache gettext ffmpeg
|
||||
|
||||
RUN mkdir -p /var/lib/betterframe && chown 1000:1000 /var/lib/betterframe
|
||||
|
||||
# Copy built plugin + deps into BSB workdir
|
||||
COPY --from=builder /app/node_modules /home/bsb/node_modules
|
||||
COPY --from=builder /app/server/lib /home/bsb/lib
|
||||
COPY --from=builder /app/server/bsb-plugin.json /home/bsb/bsb-plugin.json
|
||||
COPY --from=builder /app/server/package.json /home/bsb/package.json
|
||||
COPY --from=builder /app/tsconfig.base.json /home/bsb/tsconfig.base.json
|
||||
# Install plugin at BSB external plugin path
|
||||
COPY --from=builder /app/server/package.json /mnt/bsb-plugins/node_modules/@betterframe/server/package.json
|
||||
COPY --from=builder /app/server/bsb-plugin.json /mnt/bsb-plugins/node_modules/@betterframe/server/bsb-plugin.json
|
||||
COPY --from=builder /app/server/lib /mnt/bsb-plugins/node_modules/@betterframe/server/lib
|
||||
COPY --from=builder /app/node_modules /mnt/bsb-plugins/node_modules/@betterframe/server/node_modules
|
||||
COPY --from=builder /app/tsconfig.base.json /mnt/bsb-plugins/node_modules/@betterframe/server/tsconfig.base.json
|
||||
|
||||
# Generate sec-config.yaml from template + build args
|
||||
COPY sec-config.template.yaml /tmp/sec-config.template.yaml
|
||||
|
|
@ -80,7 +60,6 @@ RUN envsubst < /tmp/sec-config.template.yaml > /home/bsb/sec-config.yaml \
|
|||
&& chmod 444 /home/bsb/sec-config.yaml \
|
||||
&& rm /tmp/sec-config.template.yaml
|
||||
|
||||
# Bake version
|
||||
RUN echo "$BF_SERVER_VERSION" > /home/bsb/.bf-version
|
||||
|
||||
ENV NODE_ENV=production
|
||||
|
|
|
|||
Loading…
Reference in a new issue