infrastructure/app/deployment/plume.hcl

71 lines
1.5 KiB
HCL

job "plume" {
datacenters = ["dc1"]
type = "service"
constraint {
attribute = "${attr.cpu.arch}"
value = "amd64"
}
group "plume" {
count = 1
task "plume" {
driver = "docker"
config {
image = "superboum/plume:v1"
port_map {
web_port = 7878
}
#command = "cat"
#args = [ "/dev/stdout" ]
volumes = [
"/mnt/glusterfs/plume/media:/app/static/media",
"/mnt/glusterfs/plume/search:/app/search_index"
]
}
artifact {
source = "http://127.0.0.1:8500/v1/kv/configuration/plume/app.env?raw"
destination = "secrets/app.env.tpl"
mode = "file"
}
template {
source = "secrets/app.env.tpl"
destination = "secrets/app.env"
env = true
}
resources {
memory = 100
cpu = 100
network {
port "web_port" {}
}
}
service {
name = "plume"
tags = [
"plume",
"traefik.enable=true",
"traefik.frontend.entryPoints=https,http",
"traefik.frontend.rule=Host:plume.deuxfleurs.fr",
]
port = "web_port"
address_mode = "host"
check {
type = "tcp"
port = "web_port"
interval = "60s"
timeout = "5s"
check_restart {
limit = 3
grace = "600s"
ignore_warnings = false
}
}
}
}
}
}