job "nextcloud" { datacenters = ["dc1", "belair"] type = "service" constraint { attribute = "${attr.cpu.arch}" value = "amd64" } group "nextcloud" { count = 1 task "nextcloud" { driver = "docker" config { image = "lxpz/deuxfleurs_nextcloud_amd64:8" port_map { web_port = 80 } volumes = [ "secrets/config.php:/var/www/html/config/config.php" ] } artifact { source = "http://127.0.0.1:8500/v1/kv/configuration/nextcloud/config.php.tpl?raw" destination = "secrets/config.php.tpl" mode = "file" } template { source = "secrets/config.php.tpl" destination = "secrets/config.php" } resources { memory = 1000 cpu = 2000 network { port "web_port" {} } } service { name = "nextcloud" tags = [ "nextcloud", "traefik.enable=true", "traefik.frontend.entryPoints=https,http", "traefik.frontend.rule=Host:nextcloud.deuxfleurs.fr,nextcloud.devx.adnab.me", ] port = "web_port" address_mode = "host" check { type = "tcp" port = "web_port" interval = "60s" timeout = "5s" check_restart { limit = 3 grace = "90s" ignore_warnings = false } } } } } }