nixos-config/services/vaultwarden.nix
2024-05-10 01:20:50 +02:00

38 lines
939 B
Nix

{ lib, my, secrets, ... }:
{
sops.secrets."vaultwarden/env" = {
sopsFile = ../secrets/sops/vaultwarden.yaml;
owner = "vaultwarden";
restartUnits = [ "vaultwarden.service" ];
};
services.vaultwarden = {
enable = true;
environmentFile = secrets."vaultwarden/env".path;
dbBackend = "postgresql";
config = {
DOMAIN = "https://vault.${my.domain}";
DATA_FOLDER = "/var/lib/vaultwarden";
DATABASE_URL = "postgresql:///vaultwarden";
SIGNUPS_ALLOWED = false;
INVITATIONS_ALLOWED = false;
SHOW_PASSWORD_HINT = false;
ROCKET_ADDRESS = "::1";
ROCKET_PORT = 8222;
};
};
systemd.services.vaultwarden.serviceConfig.StateDirectory =
lib.mkForce "vaultwarden";
services.postgresql = {
ensureDatabases = [ "vaultwarden" ];
ensureUsers = [{
name = "vaultwarden";
ensureDBOwnership = true;
ensureClauses.login = true;
}];
};
}