diff options
Diffstat (limited to 'nomad/traefik.hcl')
-rw-r--r-- | nomad/traefik.hcl | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/nomad/traefik.hcl b/nomad/traefik.hcl new file mode 100644 index 0000000..f383090 --- /dev/null +++ b/nomad/traefik.hcl @@ -0,0 +1,71 @@ +job "frontend" { + datacenters = ["dc1"] + type = "service" + + group "traefik" { + task "server" { + driver = "docker" + + config { + image = "amd64/traefik:1.7.9" + readonly_rootfs = true + port_map { + https_port = 443 + http_port = 80 + adm_port = 8082 + synapse_federation_frontend = 8448 + } + volumes = [ + "secrets/traefik.toml:/etc/traefik/traefik.toml", + ] + } + + resources { + memory = 101 + network { + port "synapse_federation_frontend" { + static = "8448" + } + port "https_port" { + static = "443" + } + port "http_port" { + static = "80" + } + port "adm_port" { + static = "8082" + } + } + } + + service { + tags = ["https"] + port = "https_port" + address_mode = "host" + name = "traefik" + check { + type = "tcp" + port = "https_port" + interval = "60s" + timeout = "5s" + check_restart { + limit = 3 + grace = "90s" + ignore_warnings = false + } + } + } + + template { + data = "{{ key \"configuration/traefik/traefik.toml\" }}" + destination = "secrets/traefik.toml" + } + template { + data = "{{ key \"configuration/traefik/cloudflare.env\" }}" + destination = "secrets/cloudflare.env" + env = true + } + } + } +} + |