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", "traefik.http.routers.jitsi-web.rule" = "Host(`talk.chaoswest.tv`)&&!(Path(`/room-census`)||Path(`/xmpp-websocket`)||PathPrefix(`/colibri-ws`))", "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", START_AUDIO_ONLY = "true", } } } }