/* * WIP WIP WIP WIP * * + NEED TO INJECT CERTIFICATES * + NEED TO SET ENV VARIABLES * + ADD AT LEAST jitsi-videobridge.jitsi.deuxfleurs.fr TO DNS */ job "jitsi" { datacenters = ["dc1"] type = "service" constraint { attribute = "${attr.cpu.arch}" value = "amd64" } group "core" { task "xmpp" { driver = "docker" config { image = "superboum/amd64_jitsi_xmpp:v1" network_mode = "host" port_map { xmpp_port = 5222 ext_port = 5347 bosh_port = 5280 } } resources { cpu = 300 memory = 200 network { port "xmpp_port" { static = "5222" } port "ext_port" { static = "5347" } port "bosh_port" { static = "5280" } } } service { tags = [ "jitsi" ] port = "bosh_port" address_mode = "host" name = "jitsi-xmpp-bosh" check { type = "tcp" port = "bosh_port" interval = "60s" timeout = "5s" check_restart { limit = 3 grace = "90s" ignore_warnings = false } } } } task "front" { driver = "docker" config { image = "superboum/amd64_jitsi_front:v1" network_mode = "host" port_map { https_port = 443 } } resources { cpu = 300 memory = 200 network { port "https_port" { static = "443" } } } service { tags = [ "jitsi", "traefik.enable=true", "traefik.frontend.entryPoints=https,http", "traefik.frontend.rule=Host:jitsi.deuxfleurs.fr;PathPrefix:/" ] port = "https_port" address_mode = "host" name = "jitsi-front-https" check { type = "tcp" port = "https_port" interval = "60s" timeout = "5s" check_restart { limit = 3 grace = "90s" ignore_warnings = false } } } } task "jicofo" { driver = "docker" config { image = "superboum/amd64_jitsi_conference_focus:v1" network_mode = "host" } resources { cpu = 300 memory = 200 } } task "videobridge" { driver = "docker" config { image = "superboum/amd64_jitsi_videobridge:v1" network_mode = "host" port_map { video1_port = 4443 video2_port = 10000 } } resources { cpu = 300 memory = 500 network { port "video1_port" { static = "4443" } port "video2_port" { static = "10000" } } } service { tags = [ "jitsi" ] port = "video1_port" address_mode = "host" name = "jitsi-videobridge-video1" check { type = "tcp" port = "video1_port" interval = "60s" timeout = "5s" check_restart { limit = 3 grace = "90s" ignore_warnings = false } } } } } }