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

@ -4,15 +4,15 @@ JITSI_BUILD ?= unstable
JITSI_REPO ?= jitsi
NATIVE_ARCH ?= $(shell uname -m)
JITSI_MULTIARCH_SERVICES := base base-java web prosody jicofo jvb
JITSI_AMD64ONLY_SERVICES := jigasi jibri
JITSI_MULTIARCH_SERVICES := base base-java web prosody jicofo jvb jibri
JITSI_AMD64ONLY_SERVICES := jigasi
ifeq ($(NATIVE_ARCH),x86_64)
TARGETPLATFORM := linux/amd64
JITSI_SERVICES := base base-java web prosody jicofo jvb jigasi jibri
else ifeq ($(NATIVE_ARCH),aarch64)
TARGETPLATFORM := linux/arm64
JITSI_SERVICES := base base-java web prosody jicofo jvb
JITSI_SERVICES := base base-java web prosody jicofo jvb jibri
else
TARGETPLATFORM := unsupported
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-cleanup
ARG TARGETPLATFORM=unset
ARG USE_CHROMIUM=0
#ARG CHROME_RELEASE=latest
#ARG CHROMEDRIVER_MAJOR_RELEASE=latest
ARG CHROME_RELEASE=102.0.5005.61

@ -2,25 +2,36 @@
set -o pipefail -xeu
if [ "${CHROME_RELEASE}" = "latest" ]; then
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
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
apt-dpkg-wrap apt-get update
apt-dpkg-wrap apt-get install -y google-chrome-stable
apt-cleanup
else
else
curl -4so "/tmp/google-chrome-stable_${CHROME_RELEASE}-1_amd64.deb" "http://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${CHROME_RELEASE}-1_amd64.deb"
apt-dpkg-wrap apt-get update
apt-dpkg-wrap apt-get install -y "/tmp/google-chrome-stable_${CHROME_RELEASE}-1_amd64.deb"
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)"
else
else
CHROMEDRIVER_RELEASE="$(curl -4Ls https://chromedriver.storage.googleapis.com/LATEST_RELEASE_${CHROMEDRIVER_MAJOR_RELEASE})"
fi
curl -4Ls "https://chromedriver.storage.googleapis.com/${CHROMEDRIVER_RELEASE}/chromedriver_linux64.zip" | zcat >> /usr/bin/chromedriver
chmod +x /usr/bin/chromedriver
fi
curl -4Ls "https://chromedriver.storage.googleapis.com/${CHROMEDRIVER_RELEASE}/chromedriver_linux64.zip" | zcat >> /usr/bin/chromedriver
chmod +x /usr/bin/chromedriver
chromedriver --version

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

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

Loading…
Cancel
Save