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