Setting murmur superuser password persistently

I’m trying to set up murmur on my NixOS server. Murmur runs and I’m able to connect, but I can’t set the superuser password; t says that it succeeded, but I still couldn’t log into the SuperUser account. My murmur configuration looks like this:

services.murmur = {
allowHtml = false;
autobanAttempts = 3;
autobanTime = 86400;
autobanTimeframe = 120;
bandwidth = 510000;
bonjour = false;
clientCertRequired = true;
enable = true;
imgMsgLength = 4096;
logDays = 28;
registerName = "Test mumble server";
sendVersion = true;
textMsgLength = 4096;
users = 1000;
welcometext = "Welcome!";
};

If I manually locate murmurd (which is not on my path) and use -readsupw, it still doesn’t work. How would I go about making this persistent and actually getting it to work?

1 Like

Hello,

How I did it:
cat /etc/systemd/system/murmur.service | grep ExecStart
returns
ExecStart=/nix/store/...-murmur-1.2.19/bin/murmurd -ini /nix/store/...-murmurd.ini
which I use to run
sudo -u murmur /nix/store/...-murmur-1.2.19/bin/murmurd -ini /nix/store/...-murmurd.ini -readsupw

I suppose there should be an easier way to do this.

Bests

That worked. I shortened it to the command:

sudo -u murmur $(cat /etc/systemd/system/murmur.service | grep ExecStart | cut -d '=' -f2) -readsupw

I’m not really sure how else you can simplify this – murmurd doesn’t accept hashed passwords.

As far as locating the ExecStart, I think you could skip grepping the log files and instead say something like

nix eval --raw -f '<nixpkgs/nixos>' config.systemd.services.murmur.serviceConfig.ExecStart

In a more recent update, the docs say:

In version >=1.2.4 the SuperUser password is generated automatically on the first server start. You can find it in the logfile. Search for an entry like <W>2013-09-03 11:23:44.516 1 => Password for 'SuperUser' set to 'supersecretpassword' . You can of course change this password.

I had problems connecting to the DB and running the commands. So what I did was, remove the murmur.sqlite file, set up the logfile with permissions to the user murmur, set the logFile in the Nix config, tail -f murmur.log in one terminal and systemctl restart murmur in another to see the password.