jibri: add support for arm64

Use Debian's Chromium and ChromeDriver instead of Google's.

This has the limitation of not being able to control the version we
ship, however.
pull/1311/head
Saúl Ibarra Corretgé 2 years ago
parent 8d5a9cf1c9
commit b3a0d671c8
  1. 6
      .github/workflows/unstable.yml
  2. 6
      Makefile
  3. 2
      jibri/Dockerfile
  4. 11
      jibri/build/install-chrome.sh
  5. 3
      jibri/rootfs/etc/chromium/policies/managed/managed_policies.json
  6. 1
      jibri/rootfs/etc/opt/chrome/policies/managed/managed_policies.json

@ -141,8 +141,7 @@ jobs:
build-args: | build-args: |
JITSI_REPO=${{ secrets.JITSI_REPO }} JITSI_REPO=${{ secrets.JITSI_REPO }}
BASE_TAG=${{ needs.version.outputs.base }} BASE_TAG=${{ needs.version.outputs.base }}
# FIXME jibri does not support linux/arm64 platforms: linux/amd64,linux/arm64
platforms: linux/amd64
cache-from: type=gha cache-from: type=gha
cache-to: type=gha,mode=max cache-to: type=gha,mode=max
- name: Dryrun - name: Dryrun
@ -156,8 +155,7 @@ jobs:
build-args: | build-args: |
JITSI_REPO=jitsi JITSI_REPO=jitsi
BASE_TAG=${{ needs.version.outputs.base }} BASE_TAG=${{ needs.version.outputs.base }}
# FIXME jibri does not support linux/arm64 platforms: linux/amd64,linux/arm64
platforms: linux/amd64
cache-from: type=gha cache-from: type=gha
cache-to: type=gha,mode=max cache-to: type=gha,mode=max

@ -4,15 +4,15 @@ JITSI_BUILD ?= unstable
JITSI_REPO ?= jitsi JITSI_REPO ?= jitsi
NATIVE_ARCH ?= $(shell uname -m) NATIVE_ARCH ?= $(shell uname -m)
JITSI_MULTIARCH_SERVICES := base base-java web prosody jicofo jvb JITSI_MULTIARCH_SERVICES := base base-java web prosody jicofo jvb jibri
JITSI_AMD64ONLY_SERVICES := jigasi jibri JITSI_AMD64ONLY_SERVICES := jigasi
ifeq ($(NATIVE_ARCH),x86_64) ifeq ($(NATIVE_ARCH),x86_64)
TARGETPLATFORM := linux/amd64 TARGETPLATFORM := linux/amd64
JITSI_SERVICES := base base-java web prosody jicofo jvb jigasi jibri JITSI_SERVICES := base base-java web prosody jicofo jvb jigasi jibri
else ifeq ($(NATIVE_ARCH),aarch64) else ifeq ($(NATIVE_ARCH),aarch64)
TARGETPLATFORM := linux/arm64 TARGETPLATFORM := linux/arm64
JITSI_SERVICES := base base-java web prosody jicofo jvb JITSI_SERVICES := base base-java web prosody jicofo jvb jibri
else else
TARGETPLATFORM := unsupported TARGETPLATFORM := unsupported
JITSI_SERVICES := dummy JITSI_SERVICES := dummy

@ -12,6 +12,8 @@ RUN apt-dpkg-wrap apt-get update && \
apt-dpkg-wrap apt-get install -y jibri libgl1-mesa-dri procps jitsi-upload-integrations jq && \ apt-dpkg-wrap apt-get install -y jibri libgl1-mesa-dri procps jitsi-upload-integrations jq && \
apt-cleanup apt-cleanup
ARG TARGETPLATFORM=unset
ARG USE_CHROMIUM=0
#ARG CHROME_RELEASE=latest #ARG CHROME_RELEASE=latest
#ARG CHROMEDRIVER_MAJOR_RELEASE=latest #ARG CHROMEDRIVER_MAJOR_RELEASE=latest
ARG CHROME_RELEASE=102.0.5005.61 ARG CHROME_RELEASE=102.0.5005.61

@ -2,6 +2,13 @@
set -o pipefail -xeu set -o pipefail -xeu
if [ "${USE_CHROMIUM}" = 1 -o "${TARGETPLATFORM}" = "linux/arm64" ]; then
echo "Using Debian's Chromium"
apt-dpkg-wrap apt-get update
apt-dpkg-wrap apt-get install -y chromium chromium-driver chromium-sandbox
apt-cleanup
chromium --version
else
if [ "${CHROME_RELEASE}" = "latest" ]; then if [ "${CHROME_RELEASE}" = "latest" ]; then
wget -qO - https://dl-ssl.google.com/linux/linux_signing_key.pub | gpg --dearmour > /etc/apt/trusted.gpg.d/google.gpg wget -qO - https://dl-ssl.google.com/linux/linux_signing_key.pub | gpg --dearmour > /etc/apt/trusted.gpg.d/google.gpg
echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google-chrome.list echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google-chrome.list
@ -15,6 +22,8 @@ else
apt-cleanup apt-cleanup
fi fi
google-chrome --version
if [ "${CHROMEDRIVER_MAJOR_RELEASE}" = "latest" ]; then if [ "${CHROMEDRIVER_MAJOR_RELEASE}" = "latest" ]; then
CHROMEDRIVER_RELEASE="$(curl -4Ls https://chromedriver.storage.googleapis.com/LATEST_RELEASE)" CHROMEDRIVER_RELEASE="$(curl -4Ls https://chromedriver.storage.googleapis.com/LATEST_RELEASE)"
else else
@ -23,4 +32,6 @@ fi
curl -4Ls "https://chromedriver.storage.googleapis.com/${CHROMEDRIVER_RELEASE}/chromedriver_linux64.zip" | zcat >> /usr/bin/chromedriver curl -4Ls "https://chromedriver.storage.googleapis.com/${CHROMEDRIVER_RELEASE}/chromedriver_linux64.zip" | zcat >> /usr/bin/chromedriver
chmod +x /usr/bin/chromedriver chmod +x /usr/bin/chromedriver
fi
chromedriver --version chromedriver --version

@ -0,0 +1,3 @@
{
"CommandLineFlagSecurityWarningsEnabled": false
}

@ -1,4 +1,3 @@
{ {
"CommandLineFlagSecurityWarningsEnabled": false "CommandLineFlagSecurityWarningsEnabled": false
} }

Loading…
Cancel
Save