1
0

vaultwarden.nix 726 B

123456789101112131415161718192021222324252627
  1. { config, ... }:
  2. let
  3. cfg = config.services.vaultwarden.config;
  4. in
  5. {
  6. services.vaultwarden.enable = true;
  7. services.vaultwarden.backupDir = "/mnt/storage/vaultwarden";
  8. services.vaultwarden.config = {
  9. ROCKET_ADDRESS = "127.0.0.1";
  10. ROCKET_PORT = 8222;
  11. };
  12. services.vaultwarden.environmentFile =
  13. config.age.secrets."odin/services/vaultwarden".path;
  14. users.users.vaultwarden.extraGroups = [ "storage" ];
  15. systemd.tmpfiles.rules = [
  16. "d /mnt/storage/vaultwarden 0755 vaultwarden storage -"
  17. ];
  18. services.caddy.virtualHosts.vaultwarden = {
  19. hostName = "vault.{$DOMAIN}";
  20. extraConfig = ''
  21. encode gzip zstd
  22. reverse_proxy ${cfg.ROCKET_ADDRESS}:${toString cfg.ROCKET_PORT}
  23. '';
  24. };
  25. }