summaryrefslogtreecommitdiff
path: root/jobs/vaultwarden.nomad.hcl
diff options
context:
space:
mode:
Diffstat (limited to 'jobs/vaultwarden.nomad.hcl')
-rw-r--r--jobs/vaultwarden.nomad.hcl60
1 files changed, 60 insertions, 0 deletions
diff --git a/jobs/vaultwarden.nomad.hcl b/jobs/vaultwarden.nomad.hcl
new file mode 100644
index 0000000..8dcda82
--- /dev/null
+++ b/jobs/vaultwarden.nomad.hcl
@@ -0,0 +1,60 @@
+job "vaultwarden" {
+ group "vaultwarden" {
+ count = 1
+
+ network {
+ port "http" {
+ to = 80
+ }
+ }
+
+ service {
+ name = "vaultwarden-web"
+ port = "http"
+ provider = "nomad"
+
+ tags = [
+ "nginx.hostname=vaultwarden.magnusson.space",
+ "nginx.certname=magnusson.space",
+ ]
+ }
+
+ volume "vaultwarden" {
+ type = "host"
+ source = "vaultwarden"
+ }
+
+ task "vaultwarden" {
+ driver = "docker"
+
+ resources {
+ cpu = 100
+ memory = 150
+ }
+
+ volume_mount {
+ volume = "vaultwarden"
+ destination = "/data"
+ }
+
+ config {
+ image = "vaultwarden/server:alpine"
+ ports = ["http"]
+ }
+
+ template {
+ data = <<EOF
+SIGNUPS_ALLOWED=false
+DOMAIN=https://vaultwarden.magnusson.space
+PUSH_ENABLED=true
+{{ with nomadVar "nomad/jobs/vaultwarden" }}
+PUSH_INSTALLATION_ID={{ .installation_id }}
+PUSH_INSTALLATION_KEY={{ .installation_key }}
+{{ end }}
+EOF
+ destination = "local/.env"
+ env = true
+ }
+ }
+ }
+}