vaultwarden.nix 723 B

1234567891011121314151617181920212223242526
  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 = config.age.secrets."odin/services/vaultwarden".path;
  13. users.users.vaultwarden.extraGroups = [ "storage" ];
  14. systemd.tmpfiles.rules = [
  15. "d /mnt/storage/vaultwarden 0755 vaultwarden storage -"
  16. ];
  17. services.caddy.virtualHosts.vaultwarden = {
  18. hostName = "vault.odin.t5.st";
  19. extraConfig = ''
  20. encode gzip zstd
  21. reverse_proxy ${cfg.ROCKET_ADDRESS}:${toString cfg.ROCKET_PORT}
  22. '';
  23. };
  24. }