2021-08-07 13:14:15 +00:00
|
|
|
{ config, lib, pkgs, sources, ... }:
|
2021-03-17 21:35:51 +00:00
|
|
|
|
2020-11-27 20:56:20 +00:00
|
|
|
{
|
2021-08-07 13:14:15 +00:00
|
|
|
hexchen.bindmounts."/var/lib/murmur" = "/persist/var/lib/murmur";
|
|
|
|
|
2020-11-27 20:56:20 +00:00
|
|
|
services.murmur = {
|
2020-12-27 10:17:38 +00:00
|
|
|
enable = true;
|
2020-11-27 20:56:20 +00:00
|
|
|
logDays = -1;
|
2021-01-07 00:29:41 +00:00
|
|
|
welcometext = "Welcome to mumble4future! Brought to you by infra4future. The server is now reachable under mumble.hacc.space, please update your bookmarks.";
|
2020-11-27 20:56:20 +00:00
|
|
|
sslKey = "/var/lib/acme/mumble.hacc.space/key.pem";
|
|
|
|
sslCert = "/var/lib/acme/mumble.hacc.space/fullchain.pem";
|
2020-12-21 22:31:00 +00:00
|
|
|
bandwidth = 128000;
|
2020-11-27 20:56:20 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
networking.firewall.allowedTCPPorts = [ config.services.murmur.port ];
|
|
|
|
networking.firewall.allowedUDPPorts = [ config.services.murmur.port ];
|
|
|
|
|
2022-09-24 14:30:14 +00:00
|
|
|
# create ssl certs for all used domains
|
|
|
|
services.nginx.virtualHosts = let
|
|
|
|
vhost = {
|
|
|
|
enableACME = true;
|
|
|
|
forceSSL = true;
|
|
|
|
};
|
|
|
|
in {
|
|
|
|
"mumble.hacc.space" = vhost;
|
|
|
|
"mumble.infra4future.de" = vhost;
|
|
|
|
};
|
|
|
|
|
|
|
|
# create group to share the certs
|
2022-01-18 08:08:27 +00:00
|
|
|
users.groups.mumblecert = {};
|
|
|
|
users.users.nginx.extraGroups = [ "mumblecert" ];
|
|
|
|
users.users.murmur.extraGroups = [ "mumblecert" ];
|
2022-09-24 14:30:14 +00:00
|
|
|
|
|
|
|
# merge the certs into one and reload murmur on update
|
|
|
|
security.acme.certs."mumble.hacc.space" = {
|
|
|
|
group = "mumblecert";
|
|
|
|
extraDomainNames = [ "pad.infra4future.de" ];
|
|
|
|
reloadServices = [ "murmur" ];
|
|
|
|
};
|
|
|
|
|
|
|
|
|
2020-11-27 20:56:20 +00:00
|
|
|
}
|