job "registry" { datacenters = ["homelab"] priority = 100 type = "service" meta { forcedeploy = "0" } constraint { attribute = "${attr.cpu.arch}" value = "amd64" } group "registry" { network { mode = "host" port "docker_registry" { to = 5000 } port "ghcr_registry" { to = 5000 } port "traefik" { to = 5000 static = 5000 } port "redis" { to = 6379 } port "admin" { to = 8080 } } volume "registry-docker" { type = "csi" source = "registry-docker" access_mode = "multi-node-multi-writer" attachment_mode = "file-system" } volume "registry-ghcr" { type = "csi" source = "registry-ghcr" access_mode = "multi-node-multi-writer" attachment_mode = "file-system" } service { name = "docker" port = "traefik" } service { name = "ghcr" port = "traefik" } task "docker-registry" { driver = "docker" config { image = "registry:2" ports = ["docker_registry"] volumes = [ "local/dockerhub.yaml:/etc/docker/registry/config.yml" ] } env { } volume_mount { volume = "registry-docker" destination = "/var/lib/registry" } template { data = <