FROM mozilla/sbt:8u181_1.2.7 AS builder RUN apt-get update && apt-get install -y subversion # download bbb-common-message ENV TAG_COMMON_MESSAGE v2.3-alpha-2 RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_COMMON_MESSAGE/bbb-common-message /bbb-common-message \ && rm -rf /bbb-common-message/.svn # compile bbb-common-message RUN cd /bbb-common-message \ && ./deploy.sh # =================================================== # install grails RUN cd /opt \ && wget https://github.com/grails/grails-core/releases/download/v3.3.9/grails-3.3.9.zip \ && unzip grails-3.3.9.zip ENV PATH="/opt/grails-3.3.9/bin:${PATH}" # install gradle RUN cd /opt \ && wget https://services.gradle.org/distributions/gradle-6.7-bin.zip \ && unzip gradle-6.7-bin ENV PATH="/opt/gradle-6.7/bin:${PATH}" # download bbb-common-web ENV TAG_COMMON_WEB v2.3-alpha-2 RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_COMMON_WEB/bbb-common-web /bbb-common-web \ && rm -rf /bbb-common-message/.svn # compile bbb-common-web RUN cd /bbb-common-web \ && ./deploy.sh # download bbb-web ENV TAG_WEB v2.3-alpha-2 RUN svn checkout https://github.com/bigbluebutton/bigbluebutton/tags/$TAG_WEB/bigbluebutton-web /bbb-web \ && rm -rf /bbb-web/.svn # compile bbb-web RUN cd /bbb-web && grails assemble # compile pres-checker RUN cd /bbb-web/pres-checker && gradle resolveDeps # extract .war RUN unzip -q /bbb-web/build/libs/bigbluebutton-0.10.0.war -d /dist # =================================================== FROM openjdk:8-jre-slim-buster RUN apt-get update && apt-get install -y \ wget unzip gosu socat locales \ imagemagick xpdf-utils # set locale RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && locale-gen ENV LANG en_US.UTF-8 ENV LANGUAGE en_US:en ENV LC_ALL en_US.UTF-8 # add user & group RUN groupadd -g 998 bigbluebutton && useradd -m -u 998 -g bigbluebutton bigbluebutton # add dockerize ENV DOCKERIZE_VERSION v0.6.1 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 # add blank presentation files and allow conversation to pdf/svg RUN mkdir -p /usr/share/bigbluebutton/blank \ && cd /usr/share/bigbluebutton/blank \ && wget \ https://raw.githubusercontent.com/bigbluebutton/bigbluebutton/v2.3-alpha-2/bigbluebutton-config/slides/blank-svg.svg \ https://raw.githubusercontent.com/bigbluebutton/bigbluebutton/v2.3-alpha-2/bigbluebutton-config/slides/blank-thumb.png \ https://raw.githubusercontent.com/bigbluebutton/bigbluebutton/v2.3-alpha-2/bigbluebutton-config/slides/blank-presentation.pdf \ https://raw.githubusercontent.com/bigbluebutton/bigbluebutton/v2.3-alpha-2/bigbluebutton-config/slides/blank-png.png \ && sed -i 's///g' /etc/ImageMagick-6/policy.xml # get bbb-web COPY --from=builder /dist /usr/share/bbb-web # get pres-checker COPY --from=builder /bbb-web/pres-checker/lib /usr/share/prescheck/lib COPY --from=builder /bbb-web/pres-checker/run.sh /usr/share/prescheck/prescheck.sh # add entrypoint and templates COPY entrypoint.sh /entrypoint.sh COPY bigbluebutton.properties /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties.tmpl COPY turn-stun-servers.xml /usr/share/bbb-web/WEB-INF/classes/spring/turn-stun-servers.xml.tmpl COPY logback.xml /usr/share/bbb-web/WEB-INF/classes/logback.xml ENTRYPOINT ["/entrypoint.sh"]