blob: 7e317e5965f882741385ecc11130d8b3133172b2 (
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
|
{ pkgs, ... }:
let
port = 8812;
in {
services.bitwarden_rs = {
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.bitwarden_rs.after = [ "postgresql.service" ];
services.postgresql = {
enable = true;
ensureDatabases = [ "bitwarden" ];
ensureUsers = [ { name = "bitwarden_rs"; ensurePermissions."DATABASE bitwarden" = "ALL PRIVILEGES"; } ];
#initialScript = pkgs.writeText "postgresql-init.sql" ''
# CREATE DATABASE bitwarden;
# CREATE USER bitwardenuser WITH PASSWORD '${dbPassword}';
# GRANT ALL PRIVILEGES ON DATABASE bitwarden TO bitwardenuser;
#'';
};
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;
};
};
}
|