{ config, ... }: let cfg = config.services.vaultwarden.config; secrets = config.sops.secrets; domain = "vaultwarden.sorre.internal"; in { services.vaultwarden = { enable = false; configureNginx = false; dbBackend = "sqlite"; inherit domain; config = { SIGNUPS_ALLOWED = false; ROCKET_ADDRESS = "127.0.0.1"; ROCKET_PORT = 8222; ROCKET_LOG = "critical"; }; }; services.nginx.virtualHosts."vaultwarden" = { serverName = domain; forceSSL = true; listen = [ { addr = "100.64.0.3"; port = 443; ssl = true; } ]; sslCertificateKey = secrets."wg-ca-key".path; sslCertificate = secrets."wg-ca-crt".path; locations."/" = { proxyPass = "http://127.0.0.1:${toString cfg.ROCKET_PORT}"; recommendedProxySettings = true; }; }; }