43 lines
1.1 KiB
Nix
43 lines
1.1 KiB
Nix
{ ... }:
|
|
{
|
|
services.vaultwarden = {
|
|
enable = true;
|
|
dbBackend = "postgresql";
|
|
environmentFile = "/var/secrets/vaultwarden.env";
|
|
config = {
|
|
DOMAIN = "https://pw.freun.dev";
|
|
DATABASE_URL = "postgres://%2Fvar%2Frun%2Fpostgresql/vaultwarden";
|
|
WEBSOCKET_ENABLED = true;
|
|
WEBSOCKET_ADDRESS = "127.0.0.1";
|
|
WEBSOCKET_PORT = 3012;
|
|
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}";
|
|
};
|
|
};
|
|
|
|
services.caddy.virtualHosts = {
|
|
"pw.freun.dev".extraConfig = ''
|
|
reverse_proxy /notifications/hub localhost:3012
|
|
reverse_proxy localhost:8000 {
|
|
header_up X-Real-IP {remote_host}
|
|
}
|
|
'';
|
|
};
|
|
|
|
services.postgresql = {
|
|
ensureDatabases = [ "vaultwarden" ];
|
|
ensureUsers = [{
|
|
name = "vaultwarden";
|
|
ensureDBOwnership = true;
|
|
}];
|
|
};
|
|
}
|