server-configs/machines/gerd/services/murmur.nix

49 lines
1.4 KiB
Nix
Raw Normal View History

2024-08-09 21:07:51 +00:00
{ config, lib, pkgs, ... }:
2024-08-09 20:45:15 +00:00
{
services.murmur = let
certLocation = config.security.acme.certs."mumble.fricloud.dk".directory;
in {
enable = true;
openFirewall = true;
sslCert = certLocation + "/fullchain.pem";
sslKey = certLocation + "/key.pem";
environmentFile = config.age.secrets.murmur-env.path;
password = "$MURMUR_PASSWORD";
welcometext = "Welcome to Friclouds Mumble server!";
};
2024-08-09 21:07:51 +00:00
# set superpassword on start from secrets
systemd.services.murmur.preStart = lib.mkAfter ''${config.services.murmur.package}/bin/mumble-server -ini /run/murmur/murmurd.ini -readsupw < ${config.age.secrets.murmur-superpassword.path}'';
2024-08-09 20:45:15 +00:00
services.nginx.virtualHosts."mumble.fricloud.dk" = {
forceSSL = true;
enableACME = true;
root = pkgs.writeTextDir "index.html" ''
<html>
<head>
<title>Mumble server</title>
</head>
<body>
<p>This server runs a mumble server, enjoy!</p>
</body>
</html>
'';
};
# need to change group to murmur for cert + add nginx to murmur group to do HTTP ACME
security.acme.certs."mumble.fricloud.dk".group = config.users.groups.murmur.name;
users.users.nginx.extraGroups = [ config.users.groups.murmur.name ];
age.secrets = {
murmur-env.owner = config.users.users.murmur.name;
2024-08-09 21:07:51 +00:00
murmur-superpassword.owner = config.users.users.murmur.name;
2024-08-09 20:45:15 +00:00
};
environment.persistence.root.directories = [
"/var/lib/murmur"
];
}