services-garbaye/podman-jitsi/zz_build-images.sh

50 lines
2.0 KiB
Bash
Executable File

#!/usr/bin/env bash
ABSDIR="$( dirname "$(readlink -f -- "$0")" )"
source ${ABSDIR}/../functions.sh
source ${ABSDIR}/vars.sh
ensure_pwd_is_scriptdir
ensure_not_root
buildfolder=/tmp/docker-jitsi-meet-$$
build_base() {
podman pull docker.io/library/debian:bullseye-slim
if ! podman image exists localhost/jitsi/base:${version}; then
podman build -t localhost/jitsi/base:${version} ${buildfolder}/base/ &&
podman image tag localhost/jitsi/base:${version} localhost/jitsi/base:latest || exit -1
fi
if ! podman image exists localhost/jitsi/base-java:${version}; then
podman build -t localhost/jitsi/base-java:${version} ${buildfolder}/base-java &&
podman image tag localhost/jitsi/base-java:${version} localhost/jitsi/base-java:latest || exit -1
fi
base_cleanup=true
}
mkdir ${buildfolder} &&
curl -sSfL -- "https://github.com/jitsi/docker-jitsi-meet/archive/refs/tags/${version}.tar.gz" | tar xz --strip-components 1 -C ${buildfolder}/ && {
if ! podman image exists localhost/jitsi/jvb:${version}; then
build_base
podman build -t localhost/jitsi/jvb:${version} ${buildfolder}/jvb/ || exit -1
fi
if ! podman image exists localhost/jitsi/jicofo:${version}; then
build_base
podman build -t localhost/jitsi/jicofo:${version} ${buildfolder}/jicofo/ || exit -1
fi
if ! podman image exists localhost/jitsi/prosody:${version}; then
build_base
podman build -t localhost/jitsi/prosody:${version} ${buildfolder}/prosody/ || exit -1
fi
if ! podman image exists localhost/jitsi/web:${version}; then
build_base
podman build -t localhost/jitsi/web:${version} ${buildfolder}/web/ || exit -1
fi
dangling_images=$(podman images -f "dangling=true" -q)
test ! -z ${dangling_images} && podman rmi -f "${dangling_images}"
if [ ! -z ${base_cleanup} ] ; then
podman rmi localhost/jitsi/base-java:${version} localhost/jitsi/base-java:latest
podman rmi localhost/jitsi/base:${version} localhost/jitsi/base:latest
fi
} ; rm -rf ${buildfolder}