From 2d6616195f011a131ad166aebdceb771c9fc573f Mon Sep 17 00:00:00 2001 From: Quentin Dufour Date: Thu, 2 Feb 2023 14:48:59 +0100 Subject: [PATCH] upgrade the building logic --- .../prod/app/jitsi/build/docker-compose.yml | 26 +++++++++---------- .../build/jitsi-conference-focus/Dockerfile | 10 +++---- .../0001-allow-broken-openssl-routines.patch | 25 ++++++++++++++++++ .../app/jitsi/build/jitsi-meet/Dockerfile | 6 ++++- .../jitsi/build/jitsi-videobridge/Dockerfile | 8 +++--- .../app/jitsi/build/jitsi-xmpp/Dockerfile | 10 +++---- .../app/jitsi/integration/docker-compose.yml | 8 +++--- 7 files changed, 60 insertions(+), 33 deletions(-) create mode 100644 cluster/prod/app/jitsi/build/jitsi-meet/0001-allow-broken-openssl-routines.patch diff --git a/cluster/prod/app/jitsi/build/docker-compose.yml b/cluster/prod/app/jitsi/build/docker-compose.yml index 99b0ee0..19c3782 100644 --- a/cluster/prod/app/jitsi/build/docker-compose.yml +++ b/cluster/prod/app/jitsi/build/docker-compose.yml @@ -3,33 +3,33 @@ services: # VoIP jitsi-meet: build: - context: ./jitsi/build/jitsi-meet + context: ./jitsi-meet args: # https://github.com/jitsi/jitsi-meet - MEET_TAG: stable/jitsi-meet_6826 - image: superboum/amd64_jitsi_meet:v5 + MEET_TAG: stable/jitsi-meet_8252 + image: superboum/amd64_jitsi_meet:v6 jitsi-conference-focus: build: - context: ./jitsi/build/jitsi-conference-focus + context: ./jitsi-conference-focus args: # https://github.com/jitsi/jicofo - JICOFO_TAG: stable/jitsi-meet_6826 - image: superboum/amd64_jitsi_conference_focus:v9 + JICOFO_TAG: stable/jitsi-meet_8252 + image: superboum/amd64_jitsi_conference_focus:v10 jitsi-videobridge: build: - context: ./jitsi/build/jitsi-videobridge + context: ./jitsi-videobridge args: # https://github.com/jitsi/jitsi-videobridge # note: JVB is not tagged with non-stable tags - JVB_TAG: stable/jitsi-meet_6826 - image: superboum/amd64_jitsi_videobridge:v20 + JVB_TAG: stable/jitsi-meet_8252 + image: superboum/amd64_jitsi_videobridge:v21 jitsi-xmpp: build: - context: ./jitsi/build/jitsi-xmpp + context: ./jitsi-xmpp args: - MEET_TAG: stable/jitsi-meet_6826 - PROSODY_VERSION: 0.11.12-1 - image: superboum/amd64_jitsi_xmpp:v10 + MEET_TAG: stable/jitsi-meet_8252 + PROSODY_VERSION: 1nightly191-1~bookworm + image: superboum/amd64_jitsi_xmpp:v11 diff --git a/cluster/prod/app/jitsi/build/jitsi-conference-focus/Dockerfile b/cluster/prod/app/jitsi/build/jitsi-conference-focus/Dockerfile index 241c61b..29a3791 100644 --- a/cluster/prod/app/jitsi/build/jitsi-conference-focus/Dockerfile +++ b/cluster/prod/app/jitsi/build/jitsi-conference-focus/Dockerfile @@ -2,23 +2,23 @@ FROM debian:bookworm AS builder # unzip is required when executing the mvn package command RUN apt-get update && \ - apt-get install -y openjdk-11-jdk-headless maven git unzip + apt-get install -y openjdk-17-jdk-headless maven git unzip ARG JICOFO_TAG RUN git clone --depth 1 --branch $JICOFO_TAG https://github.com/jitsi/jicofo WORKDIR jicofo -COPY *.patch . -RUN git apply 0001-Remove-broken-command-line-args-parameters-setting.patch +#COPY *.patch . +#RUN git apply 0001-Remove-broken-command-line-args-parameters-setting.patch RUN mvn package -DskipTests -Dassembly.skipAssembly=false -RUN unzip target/jicofo-1.1-SNAPSHOT-archive.zip && \ +RUN unzip jicofo/target/jicofo-1.1-SNAPSHOT-archive.zip && \ mv jicofo-1.1-SNAPSHOT /srv/build FROM debian:bookworm RUN apt-get update && \ - apt-get install -y openjdk-11-jre-headless ca-certificates + apt-get install -y openjdk-17-jre-headless ca-certificates COPY --from=builder /srv/build /usr/share/jicofo COPY jicofo /usr/local/bin diff --git a/cluster/prod/app/jitsi/build/jitsi-meet/0001-allow-broken-openssl-routines.patch b/cluster/prod/app/jitsi/build/jitsi-meet/0001-allow-broken-openssl-routines.patch new file mode 100644 index 0000000..544069c --- /dev/null +++ b/cluster/prod/app/jitsi/build/jitsi-meet/0001-allow-broken-openssl-routines.patch @@ -0,0 +1,25 @@ +From 5e890bd4dd378913a2dabaf4468ce1839b84ec4f Mon Sep 17 00:00:00 2001 +From: Quentin Dufour +Date: Thu, 2 Feb 2023 13:51:27 +0100 +Subject: [PATCH] allow broken openssl routines + +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 040f8c977..bcbf82658 100644 +--- a/Makefile ++++ b/Makefile +@@ -27,7 +27,7 @@ endif + all: compile deploy clean + + compile: +- NODE_OPTIONS=--max-old-space-size=8192 \ ++ NODE_OPTIONS="--max-old-space-size=8192 --openssl-legacy-provider" \ + $(WEBPACK) + + clean: +-- +2.38.1 + diff --git a/cluster/prod/app/jitsi/build/jitsi-meet/Dockerfile b/cluster/prod/app/jitsi/build/jitsi-meet/Dockerfile index d8c7cf8..2e629e9 100644 --- a/cluster/prod/app/jitsi/build/jitsi-meet/Dockerfile +++ b/cluster/prod/app/jitsi/build/jitsi-meet/Dockerfile @@ -2,13 +2,17 @@ FROM debian:bookworm AS builder RUN apt-get update && \ apt-get install -y curl && \ - curl -sL https://deb.nodesource.com/setup_16.x | bash - && \ + curl -sL https://deb.nodesource.com/setup_19.x | bash - && \ apt-get install -y git nodejs make git unzip ARG MEET_TAG RUN git clone --depth 1 --branch ${MEET_TAG} https://github.com/jitsi/jitsi-meet WORKDIR jitsi-meet +# @FIXME read the following SO post to understand why we declare this option +# https://stackoverflow.com/a/73027407 +COPY *.patch . +RUN git apply 0001-allow-broken-openssl-routines.patch RUN npm install && \ make diff --git a/cluster/prod/app/jitsi/build/jitsi-videobridge/Dockerfile b/cluster/prod/app/jitsi/build/jitsi-videobridge/Dockerfile index 1f2509b..84c3153 100644 --- a/cluster/prod/app/jitsi/build/jitsi-videobridge/Dockerfile +++ b/cluster/prod/app/jitsi/build/jitsi-videobridge/Dockerfile @@ -1,14 +1,14 @@ FROM debian:bookworm AS builder RUN apt-get update && \ - apt-get install -y git unzip maven openjdk-11-jdk-headless + apt-get install -y git unzip maven openjdk-17-jdk-headless ARG JVB_TAG RUN git clone --depth 1 --branch ${JVB_TAG} https://github.com/jitsi/jitsi-videobridge WORKDIR jitsi-videobridge -COPY *.patch . -RUN git apply 0001-Remove-deprecated-argument.patch +#COPY *.patch . +#RUN git apply 0001-Remove-deprecated-argument.patch RUN mvn package -DskipTests RUN unzip jvb/target/jitsi-videobridge*.zip && \ mv jitsi-videobridge-*-SNAPSHOT build @@ -16,7 +16,7 @@ RUN unzip jvb/target/jitsi-videobridge*.zip && \ FROM debian:bookworm RUN apt-get update && \ - apt-get install -y openjdk-11-jre-headless curl iproute2 + apt-get install -y openjdk-17-jre-headless curl iproute2 COPY --from=builder /jitsi-videobridge/build /usr/share/jvb COPY jvb_run /usr/local/bin/jvb_run diff --git a/cluster/prod/app/jitsi/build/jitsi-xmpp/Dockerfile b/cluster/prod/app/jitsi/build/jitsi-xmpp/Dockerfile index a060fda..5efdee2 100644 --- a/cluster/prod/app/jitsi/build/jitsi-xmpp/Dockerfile +++ b/cluster/prod/app/jitsi/build/jitsi-xmpp/Dockerfile @@ -10,13 +10,11 @@ FROM debian:bookworm ARG PROSODY_VERSION RUN apt-get update && \ - apt-get install -y wget gnupg2 && \ - echo deb http://packages.prosody.im/debian buster main \ - | tee -a /etc/apt/sources.list && \ - wget https://prosody.im/files/prosody-debian-packages.key -O - \ - | apt-key add - && \ + apt-get install -y wget gnupg2 extrepo && \ + extrepo enable prosody && \ apt-get update && \ - apt-get install -y prosody=${PROSODY_VERSION} lua-event + apt-cache show prosody-0.12 && \ + apt-get install -y prosody-0.12=${PROSODY_VERSION} lua-event RUN mkdir -p /usr/local/share/ca-certificates/ && \ ln -sf \ diff --git a/cluster/prod/app/jitsi/integration/docker-compose.yml b/cluster/prod/app/jitsi/integration/docker-compose.yml index db7bc81..5e34467 100644 --- a/cluster/prod/app/jitsi/integration/docker-compose.yml +++ b/cluster/prod/app/jitsi/integration/docker-compose.yml @@ -1,7 +1,7 @@ version: '3.4' services: jitsi-xmpp: - image: superboum/amd64_jitsi_xmpp:v9 + image: superboum/amd64_jitsi_xmpp:v11 volumes: - "./prosody/prosody.cfg.lua:/etc/prosody/prosody.cfg.lua:ro" - "./prosody/certs/jitsi.crt:/var/lib/prosody/jitsi.crt:ro" @@ -13,14 +13,14 @@ services: - JVB_AUTH_PASSWORD=jvbpass jitsi-conference-focus: - image: superboum/amd64_jitsi_conference_focus:v7 + image: superboum/amd64_jitsi_conference_focus:v10 volumes: - "./prosody/certs/jitsi.crt:/usr/local/share/ca-certificates/jitsi.crt:ro" - "./prosody/certs/auth.jitsi.crt:/usr/local/share/ca-certificates/auth.jitsi.crt:ro" - "./jicofo/jicofo.conf:/etc/jitsi/jicofo.conf:ro" jitsi-videobridge: - image: superboum/amd64_jitsi_videobridge:v17 + image: superboum/amd64_jitsi_videobridge:v21 volumes: - "./prosody/certs/jitsi.crt:/usr/local/share/ca-certificates/jitsi.crt:ro" - "./prosody/certs/auth.jitsi.crt:/usr/local/share/ca-certificates/auth.jitsi.crt:ro" @@ -31,7 +31,7 @@ services: - "10000:10000/udp" jitsi-meet: - image: superboum/amd64_jitsi_meet:v4 + image: superboum/amd64_jitsi_meet:v6 volumes: - "./prosody/certs/jitsi.crt:/etc/nginx/jitsi.crt:ro" - "./prosody/certs/jitsi.key:/etc/nginx/jitsi.key:ro"