Setup
Jitsi can be ran in docker/podman containers. currently it runs on brix4, with an external STUN/TURN server at vps.shiny.space for clients with NAT issues or strict firewalls.
The basic setup is described in the docs: https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-docker/#quick-start
it boils down to: download release, unzip it, take the needed files (honestly it's only like 2 or 3... docker-compose.yml, gen-passwords.sh, env.example if needed), create the config directory where persistent data and custom config will be stored, set the desired ENV vars in .env, and run it with podman-compose/docker-compose/whatever.
At Shinyspace, we also needed some setup on the reverse proxy. find it here: https://wiki.shiny.space/books/service-overview/page/nginx-reverse-proxy-configuration
Here's the compose.yml, edited by lucas to actually forward the needed ENV vars in podman, it appears Docker handles env vars differently but podman-compose needs the ${ENV_VAR} part. it was manually added only where needed... fix later.
link: https://wiki.shiny.space/books/service-overview/page/jitsi-composeyml
it also has the systemd service set up for easy restarting: ~/.config/systemd/user/compose-jitsi.service
[Unit]
Description=Podman Compose MyService
Wants=network-online.target
After=network-online.target
[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=%h/jitsi
ExecStart=/usr/bin/podman-compose up -d
ExecStop=/usr/bin/podman-compose down
[Install]
WantedBy=default.target
Note / Warning / TODO: currently, the shiny.space IP is specified in the jitsi config - if swisscom gives me a new one i will need to update it manually. Will add monitoring for it and write a script sometime to automate.