39 lines
974 B
Nix
39 lines
974 B
Nix
{ lib, ... }:
|
|
let
|
|
fqdn = "pw.freun.dev";
|
|
port = 8000;
|
|
in
|
|
{
|
|
services.vaultwarden = {
|
|
enable = true;
|
|
dbBackend = "postgresql";
|
|
environmentFile = "/var/secrets/vaultwarden.env";
|
|
config = {
|
|
DOMAIN = "https://${fqdn}";
|
|
DATABASE_URL = "postgres://%2Fvar%2Frun%2Fpostgresql/vaultwarden";
|
|
WEBSOCKET_ENABLED = true;
|
|
SIGNUPS_VERIFY = true;
|
|
PASSWORD_ITERATIONS = 600000;
|
|
YUBICO_CLIENT_ID = 86799;
|
|
SMTP_HOST = "horologium.uberspace.de";
|
|
SMTP_FROM = "noreply@freun.dev";
|
|
SMTP_FROM_NAME = "Vaultwarden";
|
|
SMTP_USERNAME = "noreply@freun.dev";
|
|
SMTP_PORT = 587;
|
|
HELO_NAME = "freun.dev";
|
|
ROCKET_LIMITS = "{json=10485760}";
|
|
ROCKET_PORT = port;
|
|
};
|
|
};
|
|
|
|
modules.webserver.vHosts.${fqdn}.locations."/".proxyPort = port;
|
|
|
|
services.postgresql = {
|
|
ensureDatabases = [ "vaultwarden" ];
|
|
ensureUsers = [{
|
|
name = "vaultwarden";
|
|
ensureDBOwnership = true;
|
|
}];
|
|
};
|
|
}
|