service/navidrome: enable monitoring and sharing

This commit is contained in:
Felix Buehler 2023-06-01 00:56:51 +02:00
parent 19f1eec29b
commit b0c2432072
3 changed files with 1469 additions and 34 deletions

View file

@ -10,7 +10,9 @@ in
settings = mkOption {
type = (pkgs.formats.json { }).type;
default = { };
default = {
EnableSharing = true;
};
example = {
"LastFM.ApiKey" = "MYKEY";
"LastFM.Secret" = "MYSECRET";
@ -45,7 +47,7 @@ in
Address = "127.0.0.1";
MusicFolder = cfg.musicFolder;
LogLevel = "info";
# Prometheus.Enabled = config.services.prometheus.enable;
Prometheus.Enabled = config.services.prometheus.enable;
};
};
@ -56,31 +58,30 @@ in
}
];
# TODO enable in 23.05
# services.prometheus = {
# scrapeConfigs = [
# {
# job_name = "navidrome";
# static_configs = [
# {
# targets = [ "127.0.0.1:${toString cfg.port}" ];
# labels = {
# instance = config.networking.hostName;
# };
# }
# ];
# }
# ];
# };
# services.grafana.provision = {
# dashboards.settings.providers = [
# {
# name = "Navidrome";
# options.path = pkgs.grafana-dashboards.navidrome;
# disableDeletion = true;
# }
# ];
# };
services.prometheus = {
scrapeConfigs = [
{
job_name = "navidrome";
static_configs = [
{
targets = [ "127.0.0.1:${toString cfg.port}" ];
labels = {
instance = config.networking.hostName;
};
}
];
}
];
};
services.grafana.provision = {
dashboards.settings.providers = [
{
name = "Navidrome";
options.path = pkgs.grafana-dashboards.navidrome;
disableDeletion = true;
}
];
};
webapps.apps.navidrome = {
dashboard = {

View file

@ -58,13 +58,14 @@ in
src = ./nextcloud.json; # sadly only imported dashboards work
});
# navidrome = buildGrafanaDashboard {
# id = 18038;
# pname = "navidrome";
# version = "1";
# hash = "sha256-MU890UAEI9wrnVIC/R0HkYwFa6mJ8Y7ESAWuaSQ8FQ8=";
# };
navidrome = (buildGrafanaDashboard {
id = 18038;
pname = "navidrome";
version = "1";
hash = "sha256-MU890UAEI9wrnVIC/R0HkYwFa6mJ8Y7ESAWuaSQ8FQ8=";
}).overrideAttrs (self: super: {
src = ./navidrome.json; # sadly data source is not detected
});
loki = (buildGrafanaDashboard {
id = 13407;

File diff suppressed because it is too large Load diff