diff --git a/jobs/services/hedgedoc.hcl b/jobs/services/hedgedoc.hcl new file mode 100644 index 0000000..18add3d --- /dev/null +++ b/jobs/services/hedgedoc.hcl @@ -0,0 +1,115 @@ +job "hedgedoc" { + datacenters = ["aperture"] + + type = "service" + + group "web" { + network { + # mode = "bridge" + port "http" { + to = 3000 + } + + port "db" { + to = 5432 + } + } + + service { + name = "hedgedoc" + port = "http" + + check { + type = "http" + path = "/" + interval = "10s" + timeout = "2s" + } + + tags = [ + "traefik.frontend.headers.STSSeconds=63072000", + "traefik.frontend.headers.browserXSSFilter=true", + "traefik.frontend.headers.contentTypeNosniff=true", + "traefik.frontend.headers.customResponseHeaders=alt-svc:h2=l3sb47bzhpbelafss42pspxzqo3tipuk6bg7nnbacxdfbz7ao6semtyd.onion:443; ma=2592000", + "traefik.enable=true", + "traefik.port=${NOMAD_PORT_http}", + "traefik.http.routers.md.rule=Host(`md.redbrick.dcu.ie`,`md.rb.dcu.ie`)", + "traefik.http.routers.md.tls=true", + "traefik.http.routers.md.tls.certresolver=lets-encrypt", + ] + } + + task "app" { + driver = "docker" + + constraint { + attribute = "${attr.unique.hostname}" + value = "chell" + } + + config { + image = "quay.io/hedgedoc/hedgedoc:1.6.0" + ports = ["http"] + } + + template { + data = <