2024-01-25 19:13:35 +01:00
|
|
|
data "docker_registry_image" "jitsi_web" {
|
|
|
|
name = "jitsi/web:stable"
|
|
|
|
}
|
|
|
|
|
|
|
|
locals {
|
|
|
|
labels_web = {
|
|
|
|
"shepherd.auto-update" = "true",
|
|
|
|
"traefik.enable" = "true"
|
|
|
|
"traefik.http.services.jitsi-web.loadbalancer.server.port" = "80",
|
2024-01-27 09:30:30 +01:00
|
|
|
"traefik.http.routers.jitsi-web.rule" = "Host(`talk.chaoswest.tv`)&&!(Path(`/room-census`)||Path(`/xmpp-websocket`)||PathPrefix(`/colibri-ws`))",
|
2024-01-25 19:13:35 +01:00
|
|
|
"traefik.http.routers.jitsi-web.tls" = "true",
|
|
|
|
"traefik.http.routers.jitsi-web.tls.certresolver" = "default",
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
resource "docker_service" "jitsi_web" {
|
|
|
|
name = "jitsi_web"
|
|
|
|
|
|
|
|
dynamic "labels" {
|
|
|
|
for_each = local.labels_web
|
|
|
|
content {
|
|
|
|
label = labels.key
|
|
|
|
value = labels.value
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
task_spec {
|
|
|
|
networks_advanced {
|
|
|
|
name = data.docker_network.traefik.id
|
|
|
|
}
|
|
|
|
|
|
|
|
networks_advanced {
|
|
|
|
name = docker_network.jitsi.id
|
|
|
|
}
|
|
|
|
|
|
|
|
container_spec {
|
|
|
|
image = "${data.docker_registry_image.jitsi_web.name}@${data.docker_registry_image.jitsi_web.sha256_digest}"
|
|
|
|
|
|
|
|
env = {
|
|
|
|
PUBLIC_URL = "https://talk.chaoswest.tv",
|
|
|
|
TZ = "Europe/Berlin",
|
|
|
|
XMPP_AUTH_DOMAIN = "auth.meet.jitsi",
|
|
|
|
XMPP_BOSH_URL_BASE = "http://jitsi_prosody:5280",
|
|
|
|
XMPP_DOMAIN = "meet.jitsi",
|
|
|
|
XMPP_GUEST_DOMAIN = "guest.meet.jitsi",
|
|
|
|
XMPP_MUC_DOMAIN = "muc.meet.jitsi",
|
|
|
|
XMPP_RECORDER_DOMAIN = "recorder.meet.jitsi",
|
2024-01-27 13:15:03 +01:00
|
|
|
START_AUDIO_ONLY = "true",
|
2024-01-25 19:13:35 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|