From 0f7dc1cbe9f6c982d0dcd0b54b31b7b1c64c2b8a Mon Sep 17 00:00:00 2001 From: Petru Paler Date: Fri, 7 Jul 2023 14:42:29 +0100 Subject: [PATCH] Add static webserver and storage for pi.paler.net. --- services/pi.paler.net.hcl | 46 +++++++++++++++++++++++++++++++++++++++ storage/sites-volume.hcl | 26 ++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 services/pi.paler.net.hcl create mode 100644 storage/sites-volume.hcl diff --git a/services/pi.paler.net.hcl b/services/pi.paler.net.hcl new file mode 100644 index 0000000..0b0c934 --- /dev/null +++ b/services/pi.paler.net.hcl @@ -0,0 +1,46 @@ +job "pi.paler.net" { + datacenters = ["alo"] + + group "apps" { + network { + port "http" { } + } + + volume "sites-volume" { + type = "csi" + source = "sites-volume" + access_mode = "single-node-reader-only" + read_only = true + attachment_mode = "file-system" + } + + task "http-server" { + driver = "docker" + + config { + image = "pierrezemb/gostatic" + + ports = [ "http" ] + + args = [ + "-port=${NOMAD_PORT_http}", + "-path=/srv/http/pi.paler.net", + ] + } + + volume_mount { + volume = "sites-volume" + destination = "/srv/http" + } + } + } +} + +/* + labels: + - "traefik.enable=true" + - "traefik.http.routers.piserver.entryPoints=websecure" + - "traefik.http.routers.piserver.rule=Host(`pi.paler.net`)" + - "traefik.http.routers.piserver.middlewares=hsts@file" + - "traefik.http.routers.piserver.tls.certResolver=letsencrypt" +*/ diff --git a/storage/sites-volume.hcl b/storage/sites-volume.hcl new file mode 100644 index 0000000..6a5d3f5 --- /dev/null +++ b/storage/sites-volume.hcl @@ -0,0 +1,26 @@ +id = "sites-volume" +name = "sites-volume" +type = "csi" +plugin_id = "seaweedfs" + +capacity_min = "256GiB" +capacity_max = "512GiB" + +capability { + access_mode = "multi-node-single-writer" + attachment_mode = "file-system" +} + +# Optional: for 'nomad volume create', specify mount options to validate for +# 'attachment_mode = "file-system". Registering an existing volume will record +# but ignore these fields. +mount_options { + mount_flags = ["rw"] +} + +parameters { + # Available options: https://github.com/seaweedfs/seaweedfs-csi-driver/blob/master/pkg/driver/mounter_seaweedfs.go + collection = "sites" + replication = "001" + path = "/sites" +}