Commit 5445ec8
Changed files (2)
modules
hosts
hyacine
services
services
modules/hosts/hyacine/services/services.nix
@@ -11,6 +11,10 @@
domain = "net.trin.one";
};
};
+
+ services.vaultwarden = {
+ domain = "vault.hpcesia.com";
+ };
};
den.aspects.hyacine = {
@@ -18,6 +22,7 @@
den.aspects.services.webserver
den.aspects.services.headscale
+ den.aspects.services.vaultwarden
];
};
}
modules/services/vaultwarden.nix
@@ -0,0 +1,53 @@
+{lib, ...}: {
+ den.aspects.services.vaultwarden = {
+ settings = {
+ domain = lib.mkOption {
+ type = lib.types.str;
+ };
+ address = lib.mkOption {
+ type = lib.types.str;
+ default = "127.0.0.1";
+ };
+ port = lib.mkOption {
+ type = lib.types.port;
+ default = 8222;
+ };
+ };
+
+ persist = {
+ directories = [
+ {
+ directory = "/var/lib/vaultwarden";
+ user = "vaultwarden";
+ group = "vaultwarden";
+ mode = "0700";
+ }
+ ];
+ };
+
+ reverseProxy = {host, ...}: let
+ cfg = host.settings.services.vaultwarden;
+ in {
+ ${cfg.domain} = {
+ port = cfg.port;
+ };
+ };
+
+ nixos = {host, ...}: let
+ cfg = host.settings.services.vaultwarden;
+ in {
+ services.vaultwarden = {
+ enable = true;
+
+ inherit (cfg) domain;
+ dbBackend = "sqlite";
+ config = {
+ SIGNUPS_ALLOWED = false;
+ ENABLE_WEBSOCKET = true;
+ ROCKET_ADDRESS = cfg.address;
+ ROCKET_PORT = cfg.port;
+ };
+ };
+ };
+ };
+}