nixos-config/profiles/servers/vaultwarden.nix

49 lines
1.4 KiB
Nix

{ config, pkgs, lib, ... }:
let
user = config.users.users.vaultwarden.name;
group = config.users.groups.vaultwarden.name;
in {
secrets.vaultwarden.owner = user;
services.vaultwarden = {
enable = true;
backupDir = "/srv/vaultwarden";
config = {
domain = "https://vw.ataraxiadev.com";
extendedLogging = true;
invitationsAllowed = false;
logFile = "/var/log/vaultwarden.log";
logLevel = "warn";
rocketAddress = "127.0.0.1";
rocketPort = 8812;
showPasswordHint = false;
signupsAllowed = false;
signupsDomainsWhitelist = "ataraxiadev.com";
signupsVerify = true;
smtpAuthMechanism = "Login";
smtpFrom = "vaultwarden@ataraxiadev.com";
smtpFromName = "Vaultwarden";
smtpHost = "mail.ataraxiadev.com";
smtpPort = 587;
smtpSecurity = "starttls";
websocketAddress = "127.0.0.1";
websocketEnabled = true;
websocketPort = 3012;
webVaultEnabled = true;
# rocketWorkers = 10;
};
environmentFile = config.secrets.vaultwarden.decrypted;
};
# We need to do this to successufully create backup folder
systemd.services.backup-vaultwarden.serviceConfig = {
User = "root";
Group = "root";
};
persist.state.directories = [
"/var/lib/bitwarden_rs"
] ++ lib.optionals (config.deviceSpecific.devInfo.fileSystem != "zfs") [
config.services.vaultwarden.backupDir
];
}