job "frontend" { datacenters = ["dc1", "saturne"] type = "service" group "traefik" { task "server" { driver = "docker" config { image = "amd64/traefik:1.7.20" readonly_rootfs = true network_mode = "host" port_map { https_port = 443 http_port = 80 adm_port = 8082 } volumes = [ "secrets/traefik.toml:/etc/traefik/traefik.toml", ] } resources { memory = 265 network { port "https_port" { static = "443" host_network = "public" } port "http_port" { static = "80" host_network = "public" } port "adm_port" { static = "8082" } } } template { data = "{{ key \"configuration/traefik/traefik.toml\" }}" destination = "secrets/traefik.toml" } service { tags = [ "http", "frontend", "(diplonat (tcp_port 80))" ] port = "http_port" name = "traefik-http" check { type = "tcp" port = "http_port" interval = "60s" timeout = "5s" check_restart { limit = 3 grace = "90s" ignore_warnings = false } } } service { tags = [ "https", "frontend", "(diplonat (tcp_port 443))" ] port = "https_port" address_mode = "host" name = "traefik-https" check { type = "tcp" port = "https_port" interval = "60s" timeout = "5s" check_restart { limit = 3 grace = "90s" ignore_warnings = false } } } } } }