docker/mod/html5/Dockerfile

55 lines
2.0 KiB
Docker
Raw Normal View History

FROM node:8-buster-slim AS builder
2020-05-26 17:30:37 +02:00
RUN apt-get update && apt-get install -y wget curl subversion python2 python3 build-essential
RUN groupadd -g 2000 meteor && useradd -m -u 2001 -g meteor meteor
2020-04-09 22:33:27 +02:00
2020-05-26 17:30:37 +02:00
# download dockerize
ENV DOCKERIZE_VERSION v0.6.1
2020-04-10 13:29:06 +02:00
RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
&& tar -C /usr/local/bin -xzvf dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
&& rm dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz
2020-04-09 22:33:27 +02:00
USER meteor
ENV METEOR_VERSION 1.8.1
2020-05-26 17:30:37 +02:00
RUN curl -sL https://install.meteor.com?release=$METEOR_VERSION | sed s/--progress-bar/-sL/g | /bin/sh
2020-07-10 22:53:56 +02:00
ENV TAG v2.2.20
2020-05-26 17:30:37 +02:00
RUN cd ~ \
&& svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG/bigbluebutton-html5 \
&& mv ~/bigbluebutton-html5 ~/source \
&& rm -rf ~/source/.svn
# source modifications for node v12 support:
# - remove memwatch since it is not available for node v12 and disabled anyway
# - set meteor release to 1.9
# - install newer fibers version (4.0.3) which supports node v12
# RUN sed -i -r 's/import (memwatch|heapdump).*//g' ~/source/imports/startup/server/index.js \
# && sed -i -r 's/.*(memwatch|heapdump).*//g' ~/source/package.json \
# && echo "METEOR@$METEOR_VERSION" > ~/source/.meteor/release \
# && cat ~/source/.meteor/release
2020-05-26 17:30:37 +02:00
RUN cd ~/source \
&& ~/.meteor/meteor npm install --production \
&& ~/.meteor/meteor build --directory ~/app \
&& rm -r ~/source
RUN cd ~/app/bundle/programs/server \
&& npm install --production
# ------------------------------
FROM node:8-alpine
2020-05-26 17:30:37 +02:00
RUN addgroup -g 2000 meteor && adduser -D -u 2001 -G meteor meteor
COPY --from=builder /usr/local/bin/dockerize /usr/local/bin/dockerize
COPY --from=builder --chown=meteor:meteor /home/meteor/app/bundle /app
2020-04-09 22:33:27 +02:00
COPY entrypoint.sh /entrypoint.sh
COPY settings.yml /app/programs/server/assets/app/config/settings.yml.tmpl
2020-05-26 17:30:37 +02:00
USER meteor
2020-04-09 22:33:27 +02:00
ENTRYPOINT ["/entrypoint.sh"]
2020-05-26 20:09:02 +02:00
# lets set the tag again, so that it is include in the image for later version retrieval
2020-07-10 22:53:56 +02:00
ENV TAG v2.2.20