Added plus support for jitsi

This commit is contained in:
root 2025-01-27 19:06:32 +00:00
parent b094020ba8
commit 087052eb94

View File

@ -3,6 +3,7 @@
# Jitsi Service
PATH=$HOME/.docker/cli-plugins:/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
. /etc/federated
get_appvars
config_jitsi() {
@ -429,6 +430,8 @@ networks:
external: true
EOF
[[ "${PLUS}" = "true" ]] && sed -i "s/letsencrypt/httpresolver/g" /federated/apps/jitsi/docker-compose.yml
# Create Jitsi .env file
cat > /federated/apps/jitsi/.env <<EOF
# shellcheck disable=SC2034
@ -816,7 +819,7 @@ uninstall_jitsi() {
docker image rm jitsi/web:$JITSI_IMAGE_VERSION &> /dev/null
# Delete the DNS record
docker exec pdns pdnsutil delete-rrset $DOMAIN jitsi A
[[ "${PLUS}" != "true" ]] && docker exec pdns pdnsutil delete-rrset $DOMAIN jitsi A
# Uninstall the SSO configuration if it exists in authelia (authelia must exist too)
if [[ $(grep "### Jitsi" /federated/apps/authelia/data/config/idproviders.yml 2>/dev/null) ]]; then
@ -934,6 +937,8 @@ networks:
external: true
EOF
[[ "${PLUS}" = "true" ]] && sed -i "s/letsencrypt/httpresolver/g" /federated/apps/jitsiopenid/docker-compose.yml
cat > /federated/apps/jitsiopenid/.env <<EOF
IMAGE_VERSION="latest"
JITSI_SECRET=$JITSI_JWT_APP_SECRET
@ -955,3 +960,73 @@ chmod 600 /federated/apps/jitsiopenid/.env
echo -ne "done.\n"
}
configsso_jitsi_plus() {
JITSI_JWT_APP_SECRET=$(cat /federated/apps/jitsi/.jitsi.client.secret)
sed -i "s/AUTH_TYPE=.*/AUTH_TYPE=jwt/g" /federated/apps/jitsi/.env
sed -i "s/#JWT_APP_ID=.*/JWT_APP_ID=jitsi.$DOMAIN/g" /federated/apps/jitsi/.env
sed -i "s/#JWT_APP_SECRET=.*/JWT_APP_SECRET=$JITSI_JWT_APP_SECRET/g" /federated/apps/jitsi/.env
sed -i "s/#JWT_ACCEPTED_ISSUERS=.*/JWT_ACCEPTED_ISSUERS=jitsi/g" /federated/apps/jitsi/.env
sed -i "s/#JWT_ACCEPTED_AUDIENCES=.*/JWT_ACCEPTED_AUDIENCES=jitsi/g" /federated/apps/jitsi/.env
echo "TOKEN_AUTH_URL=https://jitsi.$DOMAIN/jitsi-openid/authenticate?state={state}&room={room}" >> /federated/apps/jitsi/.env
# Install Jitsi OpenID GO plugin
mkdir -p /federated/apps/jitsiopenid &> /dev/null
if [ "$(uname -m)" = "aarch64" ]; then
CONTAINER="federatedcomputer/jitsi-go-openid"
else
CONTAINER="mod242/jitsi-go-openid"
fi
cat >> /federated/apps/jitsiopenid/docker-compose.yml <<EOF
services:
jitsiopenid:
image: ${CONTAINER}/jitsi-go-openid:\${IMAGE_VERSION}
container_name: jitsiopenid
hostname: jitsiopenid.$DOMAIN
restart: always
networks:
core:
ipv4_address: 192.168.0.46
extra_hosts:
- "authelia.$DOMAIN:$EXTERNALIP"
env_file:
- ./.env
labels:
- "traefik.enable=true"
- "traefik.http.services.srv-jitsiopenid.loadbalancer.server.port=3001"
- "traefik.http.middlewares.strip-jitsiopenid.stripprefix.prefixes=/jitsi-openid"
- "traefik.http.routers.jitsiopenid.middlewares=strip-jitsiopenid"
- "traefik.http.routers.jitsiopenid.service=srv-jitsiopenid"
- "traefik.http.routers.jitsiopenid.entrypoints=websecure"
- "traefik.http.routers.jitsiopenid.rule=Host(\`jitsi.$DOMAIN\`) && PathPrefix(\`/jitsi-openid\`)"
- "traefik.http.routers.jitsiopenid.tls=true"
- "traefik.http.routers.jitsiopenid.tls.certresolver=letsencrypt"
networks:
core:
external: true
EOF
sed -i "s/letsencrypt/httpresolver/g" /federated/apps/jitsiopenid/docker-compose.yml
cat > /federated/apps/jitsiopenid/.env <<EOF
IMAGE_VERSION="latest"
JITSI_SECRET=$JITSI_JWT_APP_SECRET
JITSI_URL=https://jitsi.$DOMAIN
JITSI_SUB=jitsi.$DOMAIN
ISSUER_BASE_URL=https://authelia.$DOMAIN
BASE_URL=https://jitsi.$DOMAIN/jitsi-openid
CLIENT_ID=jitsi
SECRET=$JITSI_CLIENT_SECRET
PREJOIN=false
DEEPLINK=true
NAME_KEY=name
EOF
chmod 600 /federated/apps/jitsiopenid/.env
run_command "/federated/bin/stop jitsi"
run_command "/federated/bin/start jitsi"
run_command "/federated/bin/start jitsiopenid"
}