2023-01-20 22:11:15 +00:00
|
|
|
{ lib, ... }:
|
2022-08-05 06:33:34 +00:00
|
|
|
|
2024-03-05 18:48:25 +00:00
|
|
|
lib.mkIf false #< i don't actively use navidrome
|
2022-08-05 06:33:34 +00:00
|
|
|
{
|
2023-11-08 15:32:50 +00:00
|
|
|
sane.persist.sys.byStore.plaintext = [
|
2024-02-23 15:49:54 +00:00
|
|
|
{ user = "navidrome"; group = "navidrome"; path = "/var/lib/navidrome"; method = "bind"; }
|
2022-08-05 06:33:34 +00:00
|
|
|
];
|
|
|
|
services.navidrome.enable = true;
|
|
|
|
services.navidrome.settings = {
|
|
|
|
# docs: https://www.navidrome.org/docs/usage/configuration-options/
|
|
|
|
Address = "127.0.0.1";
|
|
|
|
Port = 4533;
|
2024-03-05 18:44:30 +00:00
|
|
|
MusicFolder = "/var/media/Music";
|
2022-08-05 06:33:34 +00:00
|
|
|
CovertArtPriority = "*.jpg, *.JPG, *.png, *.PNG, embedded";
|
|
|
|
AutoImportPlaylists = false;
|
|
|
|
ScanSchedule = "@every 1h";
|
|
|
|
};
|
2022-12-17 00:52:48 +00:00
|
|
|
|
2023-01-20 22:11:15 +00:00
|
|
|
systemd.services.navidrome.serviceConfig = {
|
|
|
|
# fix to use a normal user so we can configure perms correctly
|
|
|
|
DynamicUser = lib.mkForce false;
|
|
|
|
User = "navidrome";
|
|
|
|
Group = "navidrome";
|
|
|
|
};
|
|
|
|
|
|
|
|
users.groups.navidrome = {};
|
|
|
|
|
|
|
|
users.users.navidrome = {
|
|
|
|
group = "navidrome";
|
|
|
|
isSystemUser = true;
|
|
|
|
};
|
|
|
|
|
2022-12-17 00:52:48 +00:00
|
|
|
services.nginx.virtualHosts."music.uninsane.org" = {
|
|
|
|
forceSSL = true;
|
|
|
|
enableACME = true;
|
|
|
|
# inherit kTLS;
|
|
|
|
locations."/".proxyPass = "http://127.0.0.1:4533";
|
|
|
|
};
|
2022-12-17 01:29:12 +00:00
|
|
|
|
2023-06-07 23:34:00 +00:00
|
|
|
sane.dns.zones."uninsane.org".inet.CNAME."music" = "native";
|
2022-08-05 06:33:34 +00:00
|
|
|
}
|