mirror of
https://github.com/bigbluebutton/docker.git
synced 2025-05-13 03:54:36 +02:00
50 lines
2.0 KiB
Docker
50 lines
2.0 KiB
Docker
ARG BBB_BUILD_TAG
|
|
FROM bigbluebutton/bbb-build:$BBB_BUILD_TAG AS builder-learning-dashboard
|
|
COPY --from=src-learning-dashboard / /bbb-learning-dashboard
|
|
RUN cd /bbb-learning-dashboard && npm ci && npm run build
|
|
|
|
|
|
FROM bigbluebutton/bbb-build:$BBB_BUILD_TAG AS builder-playback
|
|
COPY --from=src-playback / /bbb-playback
|
|
RUN cd /bbb-playback && npm install && npm run-script build
|
|
|
|
FROM bigbluebutton/bbb-build:$BBB_BUILD_TAG AS builder-html5
|
|
COPY --from=src-html5 / /source
|
|
RUN cd /source && CI=true npm ci
|
|
RUN cd /source && DISABLE_ESLINT_PLUGIN=true npm run build-safari && npm run build
|
|
RUN cd /source/dist && \
|
|
HASH=$(ls | grep -Eo 'bundle\.[a-f0-9]{20}\.js' | head -n 1 | grep -Eo '[a-f0-9]{20}') && \
|
|
if [ -z "$HASH" ]; then \
|
|
echo "Bundle hash not found."; \
|
|
else \
|
|
for FILE in *.safari.js *.safari.js.map; do \
|
|
if [[ "$FILE" == *"$HASH"* ]]; then \
|
|
continue; \
|
|
fi; \
|
|
PREFIX="${FILE%%.safari.js*}"; \
|
|
SUFFIX="${FILE#*.safari.js}"; \
|
|
NEW_NAME="${PREFIX}.${HASH}.safari.js${SUFFIX}"; \
|
|
echo "Renaming $FILE → $NEW_NAME"; \
|
|
mv "$FILE" "$NEW_NAME"; \
|
|
done; \
|
|
fi
|
|
|
|
RUN find /source/dist -name '*.js' -exec gzip -k -f -9 '{}' \; \
|
|
&& find /source/dist -name '*.css' -exec gzip -k -f -9 '{}' \; \
|
|
&& find /source/dist -name '*.wasm' -exec gzip -k -f -9 '{}' \;
|
|
|
|
RUN sed -i "s/VERSION/$BBB_BUILD_TAG/g" /source/dist/index.html && \
|
|
sed -i "s/VERSION/$BBB_BUILD_TAG/g" /source/dist/stylesheets/fonts.css
|
|
|
|
# --------------------
|
|
|
|
FROM nginx:1.27-alpine
|
|
|
|
COPY --from=builder-learning-dashboard /bbb-learning-dashboard/build /www/learning-analytics-dashboard/
|
|
COPY --from=builder-playback /bbb-playback/build /www/playback/presentation/2.3
|
|
COPY --from=builder-html5 /source/dist /usr/share/bigbluebutton/html5-client/
|
|
COPY ./bbb /etc/nginx/bbb
|
|
COPY ./bigbluebutton /etc/nginx/conf.d/default.conf
|
|
COPY ./bbb-graphql-client-settings-cache.conf /etc/nginx/conf.d/bbb-graphql-client-settings-cache.conf
|
|
COPY ./nginx.conf /etc/nginx/nginx.conf
|