mirror of
https://github.com/Stunkymonkey/nixos.git
synced 2025-05-24 09:54:40 +02:00
service/navidrome: enable monitoring and sharing
This commit is contained in:
parent
19f1eec29b
commit
b0c2432072
3 changed files with 1469 additions and 34 deletions
|
@ -10,7 +10,9 @@ in
|
||||||
|
|
||||||
settings = mkOption {
|
settings = mkOption {
|
||||||
type = (pkgs.formats.json { }).type;
|
type = (pkgs.formats.json { }).type;
|
||||||
default = { };
|
default = {
|
||||||
|
EnableSharing = true;
|
||||||
|
};
|
||||||
example = {
|
example = {
|
||||||
"LastFM.ApiKey" = "MYKEY";
|
"LastFM.ApiKey" = "MYKEY";
|
||||||
"LastFM.Secret" = "MYSECRET";
|
"LastFM.Secret" = "MYSECRET";
|
||||||
|
@ -45,7 +47,7 @@ in
|
||||||
Address = "127.0.0.1";
|
Address = "127.0.0.1";
|
||||||
MusicFolder = cfg.musicFolder;
|
MusicFolder = cfg.musicFolder;
|
||||||
LogLevel = "info";
|
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 = {
|
||||||
# services.prometheus = {
|
scrapeConfigs = [
|
||||||
# scrapeConfigs = [
|
{
|
||||||
# {
|
job_name = "navidrome";
|
||||||
# job_name = "navidrome";
|
static_configs = [
|
||||||
# static_configs = [
|
{
|
||||||
# {
|
targets = [ "127.0.0.1:${toString cfg.port}" ];
|
||||||
# targets = [ "127.0.0.1:${toString cfg.port}" ];
|
labels = {
|
||||||
# labels = {
|
instance = config.networking.hostName;
|
||||||
# instance = config.networking.hostName;
|
};
|
||||||
# };
|
}
|
||||||
# }
|
];
|
||||||
# ];
|
}
|
||||||
# }
|
];
|
||||||
# ];
|
};
|
||||||
# };
|
services.grafana.provision = {
|
||||||
# services.grafana.provision = {
|
dashboards.settings.providers = [
|
||||||
# dashboards.settings.providers = [
|
{
|
||||||
# {
|
name = "Navidrome";
|
||||||
# name = "Navidrome";
|
options.path = pkgs.grafana-dashboards.navidrome;
|
||||||
# options.path = pkgs.grafana-dashboards.navidrome;
|
disableDeletion = true;
|
||||||
# disableDeletion = true;
|
}
|
||||||
# }
|
];
|
||||||
# ];
|
};
|
||||||
# };
|
|
||||||
|
|
||||||
webapps.apps.navidrome = {
|
webapps.apps.navidrome = {
|
||||||
dashboard = {
|
dashboard = {
|
||||||
|
|
|
@ -58,13 +58,14 @@ in
|
||||||
src = ./nextcloud.json; # sadly only imported dashboards work
|
src = ./nextcloud.json; # sadly only imported dashboards work
|
||||||
});
|
});
|
||||||
|
|
||||||
# navidrome = buildGrafanaDashboard {
|
navidrome = (buildGrafanaDashboard {
|
||||||
# id = 18038;
|
id = 18038;
|
||||||
# pname = "navidrome";
|
pname = "navidrome";
|
||||||
# version = "1";
|
version = "1";
|
||||||
# hash = "sha256-MU890UAEI9wrnVIC/R0HkYwFa6mJ8Y7ESAWuaSQ8FQ8=";
|
hash = "sha256-MU890UAEI9wrnVIC/R0HkYwFa6mJ8Y7ESAWuaSQ8FQ8=";
|
||||||
# };
|
}).overrideAttrs (self: super: {
|
||||||
|
src = ./navidrome.json; # sadly data source is not detected
|
||||||
|
});
|
||||||
|
|
||||||
loki = (buildGrafanaDashboard {
|
loki = (buildGrafanaDashboard {
|
||||||
id = 13407;
|
id = 13407;
|
||||||
|
|
1433
pkgs/grafana-dashboards/navidrome.json
Normal file
1433
pkgs/grafana-dashboards/navidrome.json
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue