diff options
-rw-r--r-- | jobs/files.nomad.hcl | 62 | ||||
-rw-r--r-- | nomad.tmpl.hcl | 4 |
2 files changed, 66 insertions, 0 deletions
diff --git a/jobs/files.nomad.hcl b/jobs/files.nomad.hcl new file mode 100644 index 0000000..fff35b1 --- /dev/null +++ b/jobs/files.nomad.hcl @@ -0,0 +1,62 @@ +job "files" { + group "web" { + network { + port "http" { + to = 80 + } + } + + volume "files" { + type = "host" + source = "static-files" + read_only = true + } + + service { + name = "files" + port = "http" + provider = "nomad" + + tags = [ + "nginx.hostname=files.magnusson.wiki", + "nginx.certname=magnusson.wiki", + ] + } + + task "web" { + driver = "docker" + + volume_mount { + volume = "files" + destination = "/var/www" + } + + config { + image = "nginx:1.25-alpine" + ports = ["http"] + + volumes = [ + "local:/etc/nginx/conf.d", + ] + } + + template { + data = <<EOF +server { + listen 80 default_server; + listen [::]:80 default_server; + http2 on; + + add_header X-Robots-Tag "noindex"; + autoindex on; + root /var/www; + location ~ /\. { + autoindex off; + } +} +EOF + destination = "local/website.conf" + } + } + } +} diff --git a/nomad.tmpl.hcl b/nomad.tmpl.hcl index f3626d3..c519e5b 100644 --- a/nomad.tmpl.hcl +++ b/nomad.tmpl.hcl @@ -21,6 +21,10 @@ client { host_volume "ca-certificates" { path = "/var/local/ca-certificates" } + + host_volume "static-files" { + path = "/var/www/files" + } } acl { |