35 lines
821 B
Nix
35 lines
821 B
Nix
{ config, ... }:
|
|
|
|
let
|
|
vaultEnv = config.age.secrets.vault-secret-env.path;
|
|
in
|
|
{
|
|
services.vaultwarden = {
|
|
enable = true;
|
|
|
|
environmentFile = vaultEnv;
|
|
|
|
config = {
|
|
DOMAIN = "https://vault.enium.eu";
|
|
ROCKET_PORT = 8222;
|
|
SIGNUPS_ALLOWED = false;
|
|
SSO_ENABLED = true;
|
|
SSO_CLIENT_ID = "vault";
|
|
SSO_CLIENT_SECRET = "cat ${config.age.secrets.vault-oidc-secret.path}";
|
|
SSO_AUTHORITY = "https://auth.enium.eu/oauth2/openid/vault";
|
|
SSO_SIGNUPS_MATCH_EMAIL = true;
|
|
SSO_PKCE = true;
|
|
SSO_SCOPES = "openid profile email";
|
|
SSO_ONLY = true;
|
|
};
|
|
};
|
|
|
|
services.nginx.virtualHosts."vault.enium.eu" = {
|
|
forceSSL = true;
|
|
enableACME = true;
|
|
locations."/" = {
|
|
proxyPass = "http://127.0.0.1:8222";
|
|
proxyWebsockets = true;
|
|
};
|
|
};
|
|
}
|