Compare commits

..

2 Commits

Author SHA1 Message Date
0f0dc24de0
feat: enable zramSwap for all systems
Signed-off-by: Chinmay D. Pai <chinmay.pai@zerodha.com>
2023-11-28 21:29:02 +05:30
0e2abbd17b
feat: add vaultwarden
Signed-off-by: Chinmay D. Pai <chinmay.pai@zerodha.com>
2023-11-28 21:21:42 +05:30
7 changed files with 71 additions and 10 deletions

View File

@ -4,9 +4,11 @@
../../modules/commons
../../modules/nixos/core-server.nix
../../modules/nixos/user-group.nix
../../modules/programs/nginx.nix
../../modules/programs/nixvim
../../modules/programs/nomad
../../modules/programs/gitea
../../modules/programs/vaultwarden
];
environment.systemPackages = with pkgs; [tailscale];

View File

@ -83,4 +83,6 @@
# Required for containers with `--restart=always`
enableOnBoot = true;
};
zramSwap.enable = true;
}

View File

@ -66,17 +66,7 @@ in {
};
users.groups.git = {};
security.acme = {
acceptTerms = true;
email = "chinmaydpai@gmail.com";
};
services.nginx = {
enable = true;
recommendedProxySettings = true;
recommendedOptimisation = true;
recommendedGzipSettings = true;
recommendedTlsSettings = true;
virtualHosts = {
"${domain}" = {
serverName = "${domain}";

View File

@ -0,0 +1,14 @@
{...}: {
security.acme = {
acceptTerms = true;
email = "chinmaydpai@gmail.com";
};
services.nginx = {
enable = true;
recommendedProxySettings = true;
recommendedOptimisation = true;
recommendedGzipSettings = true;
recommendedTlsSettings = true;
};
}

View File

@ -0,0 +1,52 @@
{
config,
pkgs,
...
}: let
domain = "bw.deku.moe";
in {
age.secrets.vaultwarden = {
file = ../../../secrets/vaultwarden.age;
owner = "vaultwarden";
group = "vaultwarden";
};
services.vaultwarden = {
enable = true;
package = pkgs.vaultwarden;
environmentFile = config.age.secrets.vaultwarden.path;
dbBackend = "postgresql";
config = {
domain = "https://${domain}";
signupsAllowed = false;
rocketAddress = "127.0.0.1";
rocketPort = 33003;
databaseUrl = "postgres:///vaultwarden?host=/var/run/postgresql";
};
};
services.postgresql.ensureDatabases = ["vaultwarden"];
services.postgresql.ensureUsers = [
{
name = "vaultwarden";
ensureDBOwnership = true;
}
];
services.nginx = {
virtualHosts = {
"${domain}" = {
serverName = "${domain}";
enableACME = true;
forceSSL = true;
locations."/" = {
proxyPass = "http://127.0.0.1:${toString config.services.vaultwarden.config.rocketPort}/";
};
};
};
};
}

View File

@ -10,4 +10,5 @@ let
users = thunderbottom ++ codingcoffee;
in {
"gitea.age".publicKeys = users ++ servers;
"vaultwarden.age".publicKeys = users ++ servers;
}

BIN
secrets/vaultwarden.age Normal file

Binary file not shown.