aboutsummaryrefslogtreecommitdiff
path: root/cluster/prod/app/coturn/deploy/coturn.hcl
diff options
context:
space:
mode:
Diffstat (limited to 'cluster/prod/app/coturn/deploy/coturn.hcl')
-rw-r--r--cluster/prod/app/coturn/deploy/coturn.hcl87
1 files changed, 87 insertions, 0 deletions
diff --git a/cluster/prod/app/coturn/deploy/coturn.hcl b/cluster/prod/app/coturn/deploy/coturn.hcl
new file mode 100644
index 0000000..2a48f3c
--- /dev/null
+++ b/cluster/prod/app/coturn/deploy/coturn.hcl
@@ -0,0 +1,87 @@
+job "coturn" {
+ datacenters = ["neptune", "orion"]
+ type = "service"
+
+ priority = 100
+
+ constraint {
+ attribute = "${attr.cpu.arch}"
+ value = "amd64"
+ }
+
+ group "main" {
+ count = 1
+
+ network {
+ port "prometheus" { static = 9641 }
+ port "turn_ctrl" { static = 3478 }
+ port "turn_data0" { static = 49160 }
+ port "turn_data1" { static = 49161 }
+ port "turn_data2" { static = 49162 }
+ port "turn_data3" { static = 49163 }
+ port "turn_data4" { static = 49164 }
+ port "turn_data5" { static = 49165 }
+ port "turn_data6" { static = 49166 }
+ port "turn_data7" { static = 49167 }
+ port "turn_data8" { static = 49168 }
+ port "turn_data9" { static = 49169 }
+ }
+
+ task "turnserver" {
+ driver = "docker"
+ config {
+ image = "coturn/coturn:4.6.1-r2-alpine"
+ ports = [ "prometheus", "turn_ctrl", "turn_data0", "turn_data1", "turn_data2",
+ "turn_data3", "turn_data4", "turn_data5", "turn_data6", "turn_data7",
+ "turn_data8", "turn_data9" ]
+ network_mode = "host"
+ volumes = [
+ "secrets/docker-entrypoint.sh:/usr/local/bin/docker-entrypoint.sh",
+ ]
+ }
+
+ template {
+ data = file("../config/docker-entrypoint.sh")
+ destination = "secrets/docker-entrypoint.sh"
+ perms = 555
+ }
+
+ resources {
+ memory = 20
+ memory_max = 50
+ cpu = 50
+ }
+
+ service {
+ name = "coturn"
+ tags = [
+ "coturn",
+ "d53-cname turn.deuxfleurs.fr",
+ "(diplonat (tcp_port 3478) (udp_port 3478 49160 49161 49162 49163 49164 49165 49166 49167 49168 49169))",
+ ]
+ port = "turn_ctrl"
+ check {
+ type = "http"
+ protocol = "http"
+ port = "prometheus"
+ path = "/"
+ interval = "60s"
+ timeout = "5s"
+ check_restart {
+ limit = 3
+ grace = "600s"
+ ignore_warnings = false
+ }
+ }
+ }
+
+ restart {
+ interval = "30m"
+ attempts = 20
+ delay = "15s"
+ mode = "delay"
+ }
+ }
+ }
+}
+