blob: d57badd1ca800cda50fd26402d6c37ec82784bfd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
{ pkgs, ... }:
let
port = 8812;
in {
services.vaultwarden = {
enable = true;
dbBackend = "postgresql";
config.signups_allowed = false;
config.rocketPort = port;
config.domain = "https://bw.euer.krebsco.de";
#config.databaseUrl = "postgresql://bitwardenuser:${dbPassword}@localhost/bitwarden";
config.databaseUrl = "postgresql:///bitwarden";
config.websocket_enabled = true;
};
systemd.services.vaultwarden.after = [ "postgresql.service" ];
services.postgresql = {
enable = true;
ensureDatabases = [ "bitwarden" ];
ensureUsers = [
{ name = "bitwarden_rs"; ensurePermissions."DATABASE bitwarden" = "ALL PRIVILEGES"; }
{ name = "vaultwarden"; ensurePermissions."DATABASE bitwarden" = "ALL PRIVILEGES"; }
];
};
services.postgresqlBackup = {
enable = true;
databases = [ "bitwarden" ];
};
systemd.services.postgresqlBackup-bitwarden.serviceConfig.SupplementaryGroups = [ "download" ];
services.nginx.virtualHosts."bw.euer.krebsco.de" ={
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://localhost:8812";
proxyWebsockets = true;
};
locations."/notifications/hub" = {
proxyPass = "http://localhost:3012";
proxyWebsockets = true;
};
locations."/notifications/hub/negotiate" = {
proxyPass = "http://localhost:8812";
proxyWebsockets = true;
};
};
}
|