about summary refs log tree commit diff
path: root/bundles/vaultwarden
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2025-09-07 17:32:13 +0200
committerRobert Günzler <r@gnzler.io>2025-09-07 17:42:42 +0200
commit38be6c13f76e893cf47636257071b440dec0c5b2 (patch)
treef7ded3235a7e3362cbd1ed3d91523968fe0faf90 /bundles/vaultwarden
initial commit
Signed-off-by: Robert Günzler <r@gnzler.io>
Diffstat (limited to 'bundles/vaultwarden')
-rw-r--r--bundles/vaultwarden/files/kube.yaml41
-rw-r--r--bundles/vaultwarden/files/user.vaultwarden.scss.hbs42
-rw-r--r--bundles/vaultwarden/items.py10
-rw-r--r--bundles/vaultwarden/metadata.py10
4 files changed, 103 insertions, 0 deletions
diff --git a/bundles/vaultwarden/files/kube.yaml b/bundles/vaultwarden/files/kube.yaml
new file mode 100644
index 0000000..edb0b9b
--- /dev/null
+++ b/bundles/vaultwarden/files/kube.yaml
@@ -0,0 +1,41 @@
+apiVersion: v1
+kind: Pod
+metadata:
+  name: vaultwarden
+  labels:
+    traefik.enable: true
+    traefik.http.routers.vaultwarden.tls: true
+    traefik.http.routers.vaultwarden.tls.certresolver: le
+    traefik.http.routers.vaultwarden.entrypoints: http,https
+    traefik.http.routers.vaultwarden.rule: Host(`vault.gzr.im`)
+    traefik.http.routers.vaultwarden.service: vaultwarden
+    traefik.http.services.vaultwarden.loadbalancer.server.port: 80
+    # TODO: metrics -> https://github.com/Tricked-dev/vwmetrics
+spec:
+  restartPolicy: Never
+  dnsPolicy: Default
+  containers:
+    - name: vaultwarden
+      image: ghcr.io/dani-garcia/vaultwarden:1.34.1-alpine
+      volumeMounts:
+        - name: data
+          mountPath: /data
+      ports:
+        - containerPort: 80
+          protocol: TCP
+      # livenessProbe:
+      #   httpGet:
+      #     path: /healthz
+      #     port: http
+      resources:
+        requests:
+          cpu: 50m
+          memory: 40Mi
+        limits:
+          cpu: 100m
+          memory: 128Mi
+  volumes:
+  - name: data
+    hostPath:
+      path: /var/lib/vaultwarden
+      type: DirectoryOrCreate
diff --git a/bundles/vaultwarden/files/user.vaultwarden.scss.hbs b/bundles/vaultwarden/files/user.vaultwarden.scss.hbs
new file mode 100644
index 0000000..2a27e46
--- /dev/null
+++ b/bundles/vaultwarden/files/user.vaultwarden.scss.hbs
@@ -0,0 +1,42 @@
+// vim: ft=scss
+*,
+::before,
+::after {
+  --br: 0.15rem;
+
+}
+
+body {
+
+  // block ugly font
+
+  font-family:
+    sans-serif,
+    "Apple Color Emoji",
+    "Segoe UI Emoji",
+    "Segoe UI Symbol"
+    !important;
+
+  // less rounded corners
+
+  .tw-rounded-full,
+  .tw-rounded-2xl,
+  .\!tw-rounded-r-lg,
+  .\!tw-rounded-l-lg,
+  .tw-rounded-r-lg,
+  .tw-rounded-l-lg,
+  .tw-rounded-lg,
+  .tw-rounded-md,
+  .tw-rounded {
+    border-radius: var(--br) !important;
+  }
+
+  .card {
+    border-radius: var(--br) !important;
+  }
+
+  .card-header:first-child {
+    border-radius:
+      calc(var(--br) - 1px) calc(var(--br) - 1px) 0 0 !important;
+  }
+}
diff --git a/bundles/vaultwarden/items.py b/bundles/vaultwarden/items.py
new file mode 100644
index 0000000..b5f9834
--- /dev/null
+++ b/bundles/vaultwarden/items.py
@@ -0,0 +1,10 @@
+files = {
+    "/etc/deployments/vaultwarden/kube.yaml": {
+        "content_type": "text",
+        "triggers": {"svc_s6rc:vaultwarden:restart"},
+    },
+    "/var/lib/vaultwarden/templates/scss/user.vaultwarden.scss.hbs": {
+        "content_type": "text",
+        "triggers": {"svc_s6rc:vaultwarden:restart"},
+    }
+}
diff --git a/bundles/vaultwarden/metadata.py b/bundles/vaultwarden/metadata.py
new file mode 100644
index 0000000..b8edd1e
--- /dev/null
+++ b/bundles/vaultwarden/metadata.py
@@ -0,0 +1,10 @@
+defaults = {
+    "backup": {
+        "includes": {
+            "/var/lib/vaultwarden",
+        }
+    },
+    "containers": {
+        "vaultwarden": {},
+    },
+}