From 8eb9b3952a5bb3d3e83c754a5b9f9704d2984777 Mon Sep 17 00:00:00 2001 From: Kabbone Date: Mon, 21 Oct 2024 12:17:54 +0200 Subject: [PATCH] services: vault poc --- modules/services/server/vaultwarden.nix | 41 +++++++++++++++++++ secrets/secrets.nix | 1 + secrets/services/vaultwarden/environment.age | Bin 0 -> 27298 bytes 3 files changed, 42 insertions(+) create mode 100644 modules/services/server/vaultwarden.nix create mode 100644 secrets/services/vaultwarden/environment.age diff --git a/modules/services/server/vaultwarden.nix b/modules/services/server/vaultwarden.nix new file mode 100644 index 0000000..cb9a7b7 --- /dev/null +++ b/modules/services/server/vaultwarden.nix @@ -0,0 +1,41 @@ +# +# System notifications +# + +{ config, lib, pkgs, ... }: + +{ + services.vaultwarden = { + enable = true; + dbBackend = "postgresql"; + backupDir = "/var/backup/vaultwarden"; + environmentFile = config.age.secrets."services/vaultwarden/environment".path; + config = { + DOMAIN = "https://vault.kabtop.de"; + SIGNUPS_ALLOWED = false; + ROCKET_ADDRESS = "127.0.0.1"; + ROCKET_PORT = 8222; + + ROCKET_LOG = "critical"; + }; + }; + + services.nginx = { + enable = true; + recommendedTlsSettings = true; + recommendedOptimisation = true; + recommendedGzipSettings = true; + recommendedProxySettings = true; + virtualHosts = { + "${config.services.vaultwarden.config.DOMAIN}" = { + enableACME = true; + forceSSL = true; + locations."/".proxyPass = "http://127.0.0.1:${toString config.services.vaultwarden.config.ROCKET_PORT}"; + }; + }; + }; + age.secrets."services/vaultwarden/environment" = { + file = ../../../secrets/services/vaultwarden/environment.age; + owner = "vaultwarden"; + }; +} diff --git a/secrets/secrets.nix b/secrets/secrets.nix index 195a6c4..db82666 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -81,6 +81,7 @@ in "services/gitea/mailerPassword.age".publicKeys = servers ++ users; "services/gitea/homerunner-token.age".publicKeys = homerunners ++ users; "services/gitea/serverrunner-token.age".publicKeys = serverrunners ++ users; + "services/vaultwarden/environment.age".publicKeys = servers ++ users; "services/acme/opel-online.age".publicKeys = buildServer ++ users; "keys/nixremote.age".publicKeys = buildClients ++ users; "keys/nixservepriv.age".publicKeys = buildServer ++ users; diff --git a/secrets/services/vaultwarden/environment.age b/secrets/services/vaultwarden/environment.age new file mode 100644 index 0000000000000000000000000000000000000000..f4cf795e0eb78f524deee71afd11711e32bcfefc GIT binary patch literal 27298 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 NK3RwNS0uAN`72rL7+3%R literal 0 HcmV?d00001