31 lines
917 B
Nix
31 lines
917 B
Nix
{lib, ...}: {
|
|
services = rec {
|
|
navidrome = {
|
|
enable = true;
|
|
settings = {
|
|
BaseUrl = "https://${caddy.virtualHosts.navidrome.hostName}";
|
|
Address = "unix:/run/navidrome/navidrome.socket";
|
|
MusicFolder = "/srv/music";
|
|
EnableStarRating = false;
|
|
# Better to download in copyparty / smb
|
|
EnableDownloads = false;
|
|
};
|
|
};
|
|
caddy.virtualHosts.navidrome = {
|
|
hostName = "music.everest.tailscale";
|
|
extraConfig = ''
|
|
import tailscale
|
|
reverse_proxy ${lib.strings.replaceString ":" "/" navidrome.settings.Address}
|
|
'';
|
|
};
|
|
headscale.settings.dns.extra_records = [
|
|
{
|
|
name = caddy.virtualHosts.navidrome.hostName;
|
|
type = "A";
|
|
value = "100.100.0.1";
|
|
}
|
|
];
|
|
};
|
|
programs.rust-motd.settings.service_status.Navidrome = "navidrome";
|
|
users.users.caddy.extraGroups = ["navidrome"];
|
|
}
|