nixos-hypervisor/services/vaultwarden/default.nix
2025-06-05 14:34:30 +02:00

54 lines
1.3 KiB
Nix

{
lib,
config,
...
}: let
cfg = config.services.vm_vaultwarden;
in {
options.services.vm_vaultwarden = {
enable = lib.mkEnableOption "Enable minimal config";
};
config = lib.mkIf cfg.enable {
age.secrets = {
vaultwarden-lapi-key = {
file = ../../secrets/vaultwarden-lapi-key.age;
owner = "crowdsec";
};
env-file = {
file = ./secrets/env-file.age;
};
};
services = {
crowdsec = {
hub.collections = [
"Dominic-Wagner/vaultwarden"
];
settings.lapi.credentialsFile = "${config.age.secrets.vaultwarden-lapi-key.path}";
localConfig = {
acquisitions = [
{
source = "journalctl";
journalctl_filter = ["_SYSTEMD_UNIT=vaultwarden.service"];
labels = {
type = "syslog";
};
}
];
};
};
vaultwarden = {
enable = true;
dbBackend = "postgresql";
environmentFile = config.age.secrets.env-file.path;
config = {
ROCKET_ADDRESS = "0.0.0.0";
ROCKET_PORT = "8000";
DOMAIN = "https://vault.le43.eu";
SIGNUPS_ALLOWED = false;
IP_HEADER = "X-Forwarded-For";
};
};
};
networking.firewall.allowedTCPPorts = [8000];
};
}