job "traefik-ingress" { datacenters = ["hetzner"] priority = 90 type = "service" meta { force_deploy = 1 } group "traefik-ingress" { network { mode = "host" port "http" { static = 80 host_network = "public" } port "https" { static = 443 host_network = "public" } port "admin" { static = 9080 host_network = "private" } port "ssh" { static = 2222 host_network = "public" } port "smtp" { static = 25 host_network = "public" } port "esmtp" { static = 465 host_network = "public" } port "imap" { static= 993 host_network = "public" } } vault { policies = ["traefik"] } task "traefik" { driver = "docker" service { name = "traefik" tags = ["traefik"] port = "https" } service { name = "traefik-admin" port = "admin" tags = [ "homer.enable=true", "homer.name=Traefik admin", "homer.subtitle=WAN", "homer.service=Platform", "homer.logo=https://upload.wikimedia.org/wikipedia/commons/1/1b/Traefik.logo.png", "homer.target=_blank", "homer.url=http://${NOMAD_ADDR_admin}", ] } config { image = "docker.service.consul:5000/library/traefik" ports = [ "http", "https", "admin", "ssh", "smtp", "esmtp", "imap", ] volumes = [ "local/traefik.toml:/etc/traefik/traefik.toml", "/mnt/diskstation/nomad/traefik/acme.json:/acme.json" ] } # vault{ #} env { } template { data = <