diff --git a/services/ghost.hcl b/services/ghost.hcl new file mode 100644 index 0000000..1b5633d --- /dev/null +++ b/services/ghost.hcl @@ -0,0 +1,65 @@ +job "ghost" { + datacenters = ["alo"] + + group "web" { + network { + port "http" { + to = 2368 + } + } + + task "server" { + driver = "docker" + + config { + image = "ghost:latest" + ports = ["http"] + volumes = [ + "/data/compute/appdata/ghost:/var/lib/ghost/content", + ] + } + + env { + url = "https://alo.land" + mail__transport = "SMTP" + mail__options__service = "Mailgun" + mail__options__host = "smtp.eu.mailgun.org" + mail__options__port = "465" + mail__options__secure = "true" + mail__options__auth__user = "postmaster@mg.alo.land" + mail__options__auth__pass = "63eb13eabe77f639cbde3d14793f42ef-602cc1bf-36f99a0c" + database__connection__host = "mysql.service.consul" + database__connection__database = "alo" + database__connection__user = "ghost" + database__connection__password = "cohNeiveoGa9eedohFie" + } + + service { + name = "ghost" + port = "http" + check { + type = "http" + port = "http" + path = "/ghost/api/admin/site/" + header { + X-Forwarded-Proto = ["https"] + Host = ["alo.land"] + } + interval = "30s" + timeout = "2s" + } + + tags = [ + "traefik.enable=true", + "traefik.http.routers.ghost.entryPoints=websecure", + "traefik.http.routers.ghost.rule=Host(`alo.land`)", + ] + } + + resources { + cpu = 500 + memory = 512 + } + } + } +}