Add missing services to Gatus monitoring and Dashy dashboard
All checks were successful
Check Flake / check-flake (push) Successful in 3m50s
All checks were successful
Check Flake / check-flake (push) Successful in 3m50s
Gatus: Add Roundcube, Collabora, and all s0 services (Jellyfin, servarr stack, Home Assistant, ESPHome, Zigbee2MQTT, Frigate, Valetudo, Sandman, Vikunja, Actual Budget, Linkwarden, Memos, Outline, LanguageTool, Unifi) in a new "s0" group. Dashy: Add missing public services (ntfy, Librechat, Owncast, Navidrome, Collabora, Gatus) to Services section. Add new Home Automation and Productivity sections. Add Unifi to Network. Remove disabled Jitsi Meet.
This commit is contained in:
@@ -130,6 +130,226 @@ in
|
||||
];
|
||||
alerts = [{ type = "ntfy"; }];
|
||||
}
|
||||
{
|
||||
name = "Roundcube";
|
||||
group = "services";
|
||||
url = "https://mail.neet.dev";
|
||||
interval = "5m";
|
||||
conditions = [
|
||||
"[STATUS] == 200"
|
||||
];
|
||||
alerts = [{ type = "ntfy"; }];
|
||||
}
|
||||
{
|
||||
name = "Collabora Online";
|
||||
group = "services";
|
||||
url = "https://collabora.runyan.org";
|
||||
interval = "5m";
|
||||
conditions = [
|
||||
"[STATUS] == 200"
|
||||
];
|
||||
alerts = [{ type = "ntfy"; }];
|
||||
}
|
||||
{
|
||||
name = "Jellyfin";
|
||||
group = "s0";
|
||||
url = "https://jellyfin.s0.neet.dev";
|
||||
interval = "5m";
|
||||
conditions = [
|
||||
"[STATUS] == 200"
|
||||
];
|
||||
alerts = [{ type = "ntfy"; }];
|
||||
}
|
||||
{
|
||||
name = "Sonarr";
|
||||
group = "s0";
|
||||
url = "https://sonarr.s0.neet.dev";
|
||||
interval = "5m";
|
||||
conditions = [
|
||||
"[STATUS] == 200"
|
||||
];
|
||||
alerts = [{ type = "ntfy"; }];
|
||||
}
|
||||
{
|
||||
name = "Radarr";
|
||||
group = "s0";
|
||||
url = "https://radarr.s0.neet.dev";
|
||||
interval = "5m";
|
||||
conditions = [
|
||||
"[STATUS] == 200"
|
||||
];
|
||||
alerts = [{ type = "ntfy"; }];
|
||||
}
|
||||
{
|
||||
name = "Lidarr";
|
||||
group = "s0";
|
||||
url = "https://lidarr.s0.neet.dev";
|
||||
interval = "5m";
|
||||
conditions = [
|
||||
"[STATUS] == 200"
|
||||
];
|
||||
alerts = [{ type = "ntfy"; }];
|
||||
}
|
||||
{
|
||||
name = "Prowlarr";
|
||||
group = "s0";
|
||||
url = "https://prowlarr.s0.neet.dev";
|
||||
interval = "5m";
|
||||
conditions = [
|
||||
"[STATUS] == 200"
|
||||
];
|
||||
alerts = [{ type = "ntfy"; }];
|
||||
}
|
||||
{
|
||||
name = "Bazarr";
|
||||
group = "s0";
|
||||
url = "https://bazarr.s0.neet.dev";
|
||||
interval = "5m";
|
||||
conditions = [
|
||||
"[STATUS] == 200"
|
||||
];
|
||||
alerts = [{ type = "ntfy"; }];
|
||||
}
|
||||
{
|
||||
name = "Transmission";
|
||||
group = "s0";
|
||||
url = "https://transmission.s0.neet.dev";
|
||||
interval = "5m";
|
||||
conditions = [
|
||||
"[STATUS] == 200"
|
||||
];
|
||||
alerts = [{ type = "ntfy"; }];
|
||||
}
|
||||
{
|
||||
name = "Home Assistant";
|
||||
group = "s0";
|
||||
url = "https://ha.s0.neet.dev";
|
||||
interval = "5m";
|
||||
conditions = [
|
||||
"[STATUS] == 200"
|
||||
];
|
||||
alerts = [{ type = "ntfy"; }];
|
||||
}
|
||||
{
|
||||
name = "ESPHome";
|
||||
group = "s0";
|
||||
url = "https://esphome.s0.neet.dev";
|
||||
interval = "5m";
|
||||
conditions = [
|
||||
"[STATUS] == 200"
|
||||
];
|
||||
alerts = [{ type = "ntfy"; }];
|
||||
}
|
||||
{
|
||||
name = "Zigbee2MQTT";
|
||||
group = "s0";
|
||||
url = "https://zigbee.s0.neet.dev";
|
||||
interval = "5m";
|
||||
conditions = [
|
||||
"[STATUS] == 200"
|
||||
];
|
||||
alerts = [{ type = "ntfy"; }];
|
||||
}
|
||||
{
|
||||
name = "Frigate";
|
||||
group = "s0";
|
||||
url = "https://frigate.s0.neet.dev";
|
||||
interval = "5m";
|
||||
conditions = [
|
||||
"[STATUS] == 200"
|
||||
];
|
||||
alerts = [{ type = "ntfy"; }];
|
||||
}
|
||||
{
|
||||
name = "Valetudo";
|
||||
group = "s0";
|
||||
url = "https://vacuum.s0.neet.dev";
|
||||
interval = "5m";
|
||||
conditions = [
|
||||
"[STATUS] == 200"
|
||||
];
|
||||
alerts = [{ type = "ntfy"; }];
|
||||
}
|
||||
{
|
||||
name = "Sandman";
|
||||
group = "s0";
|
||||
url = "https://sandman.s0.neet.dev";
|
||||
interval = "5m";
|
||||
conditions = [
|
||||
"[STATUS] == 200"
|
||||
];
|
||||
alerts = [{ type = "ntfy"; }];
|
||||
}
|
||||
{
|
||||
name = "Vikunja";
|
||||
group = "s0";
|
||||
url = "https://todo.s0.neet.dev";
|
||||
interval = "5m";
|
||||
conditions = [
|
||||
"[STATUS] == 200"
|
||||
];
|
||||
alerts = [{ type = "ntfy"; }];
|
||||
}
|
||||
{
|
||||
name = "Actual Budget";
|
||||
group = "s0";
|
||||
url = "https://budget.s0.neet.dev";
|
||||
interval = "5m";
|
||||
conditions = [
|
||||
"[STATUS] == 200"
|
||||
];
|
||||
alerts = [{ type = "ntfy"; }];
|
||||
}
|
||||
{
|
||||
name = "Linkwarden";
|
||||
group = "s0";
|
||||
url = "https://linkwarden.s0.neet.dev";
|
||||
interval = "5m";
|
||||
conditions = [
|
||||
"[STATUS] == 200"
|
||||
];
|
||||
alerts = [{ type = "ntfy"; }];
|
||||
}
|
||||
{
|
||||
name = "Memos";
|
||||
group = "s0";
|
||||
url = "https://memos.s0.neet.dev";
|
||||
interval = "5m";
|
||||
conditions = [
|
||||
"[STATUS] == 200"
|
||||
];
|
||||
alerts = [{ type = "ntfy"; }];
|
||||
}
|
||||
{
|
||||
name = "Outline";
|
||||
group = "s0";
|
||||
url = "https://outline.s0.neet.dev";
|
||||
interval = "5m";
|
||||
conditions = [
|
||||
"[STATUS] == 200"
|
||||
];
|
||||
alerts = [{ type = "ntfy"; }];
|
||||
}
|
||||
{
|
||||
name = "LanguageTool";
|
||||
group = "s0";
|
||||
url = "https://languagetool.s0.neet.dev";
|
||||
interval = "5m";
|
||||
conditions = [
|
||||
"[STATUS] == 200"
|
||||
];
|
||||
alerts = [{ type = "ntfy"; }];
|
||||
}
|
||||
{
|
||||
name = "Unifi";
|
||||
group = "s0";
|
||||
url = "https://unifi.s0.neet.dev";
|
||||
interval = "5m";
|
||||
conditions = [
|
||||
"[STATUS] == 200"
|
||||
];
|
||||
alerts = [{ type = "ntfy"; }];
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -181,10 +181,20 @@
|
||||
statusCheck = true;
|
||||
id = "1_746_wireless";
|
||||
};
|
||||
unifi = {
|
||||
title = "Unifi";
|
||||
description = "unifi.s0.neet.dev";
|
||||
icon = "hl-unifi";
|
||||
url = "https://unifi.s0.neet.dev";
|
||||
target = "sametab";
|
||||
statusCheck = false;
|
||||
id = "2_746_unifi";
|
||||
};
|
||||
};
|
||||
networkList = [
|
||||
networkItems.gateway
|
||||
networkItems.wireless
|
||||
networkItems.unifi
|
||||
];
|
||||
in
|
||||
{
|
||||
@@ -259,14 +269,59 @@
|
||||
statusCheck = true;
|
||||
id = "6_836_roundcube";
|
||||
};
|
||||
jitsimeet = {
|
||||
title = "Jitsi Meet";
|
||||
description = "meet.neet.space";
|
||||
icon = "hl-jitsimeet";
|
||||
url = "https://meet.neet.space";
|
||||
ntfy = {
|
||||
title = "ntfy";
|
||||
description = "ntfy.neet.dev";
|
||||
icon = "hl-ntfy";
|
||||
url = "https://ntfy.neet.dev";
|
||||
target = "sametab";
|
||||
statusCheck = true;
|
||||
id = "7_836_jitsimeet";
|
||||
id = "7_836_ntfy";
|
||||
};
|
||||
librechat = {
|
||||
title = "Librechat";
|
||||
description = "chat.neet.dev";
|
||||
icon = "hl-librechat";
|
||||
url = "https://chat.neet.dev";
|
||||
target = "sametab";
|
||||
statusCheck = true;
|
||||
id = "8_836_librechat";
|
||||
};
|
||||
owncast = {
|
||||
title = "Owncast";
|
||||
description = "live.neet.dev";
|
||||
icon = "hl-owncast";
|
||||
url = "https://live.neet.dev";
|
||||
target = "sametab";
|
||||
statusCheck = true;
|
||||
id = "9_836_owncast";
|
||||
};
|
||||
navidrome-public = {
|
||||
title = "Navidrome";
|
||||
description = "navidrome.neet.cloud";
|
||||
icon = "hl-navidrome";
|
||||
url = "https://navidrome.neet.cloud";
|
||||
target = "sametab";
|
||||
statusCheck = true;
|
||||
id = "10_836_navidrome-public";
|
||||
};
|
||||
collabora = {
|
||||
title = "Collabora";
|
||||
description = "collabora.runyan.org";
|
||||
icon = "hl-collabora";
|
||||
url = "https://collabora.runyan.org";
|
||||
target = "sametab";
|
||||
statusCheck = true;
|
||||
id = "11_836_collabora";
|
||||
};
|
||||
gatus = {
|
||||
title = "Gatus";
|
||||
description = "status.neet.dev";
|
||||
icon = "hl-gatus";
|
||||
url = "https://status.neet.dev";
|
||||
target = "sametab";
|
||||
statusCheck = true;
|
||||
id = "12_836_gatus";
|
||||
};
|
||||
};
|
||||
servicesList = [
|
||||
@@ -276,7 +331,12 @@
|
||||
servicesItems.git
|
||||
servicesItems.nextcloud
|
||||
servicesItems.roundcube
|
||||
servicesItems.jitsimeet
|
||||
servicesItems.ntfy
|
||||
servicesItems.librechat
|
||||
servicesItems.owncast
|
||||
servicesItems.navidrome-public
|
||||
servicesItems.collabora
|
||||
servicesItems.gatus
|
||||
];
|
||||
in
|
||||
{
|
||||
@@ -293,5 +353,169 @@
|
||||
};
|
||||
}
|
||||
)
|
||||
|
||||
(
|
||||
let
|
||||
haItems = {
|
||||
home-assistant = {
|
||||
title = "Home Assistant";
|
||||
description = "ha.s0.neet.dev";
|
||||
icon = "hl-home-assistant";
|
||||
url = "https://ha.s0.neet.dev";
|
||||
target = "sametab";
|
||||
statusCheck = false;
|
||||
id = "0_4201_home-assistant";
|
||||
};
|
||||
esphome = {
|
||||
title = "ESPHome";
|
||||
description = "esphome.s0.neet.dev";
|
||||
icon = "hl-esphome";
|
||||
url = "https://esphome.s0.neet.dev";
|
||||
target = "sametab";
|
||||
statusCheck = false;
|
||||
id = "1_4201_esphome";
|
||||
};
|
||||
zigbee2mqtt = {
|
||||
title = "Zigbee2MQTT";
|
||||
description = "zigbee.s0.neet.dev";
|
||||
icon = "hl-zigbee2mqtt";
|
||||
url = "https://zigbee.s0.neet.dev";
|
||||
target = "sametab";
|
||||
statusCheck = false;
|
||||
id = "2_4201_zigbee2mqtt";
|
||||
};
|
||||
frigate = {
|
||||
title = "Frigate";
|
||||
description = "frigate.s0.neet.dev";
|
||||
icon = "hl-frigate";
|
||||
url = "https://frigate.s0.neet.dev";
|
||||
target = "sametab";
|
||||
statusCheck = false;
|
||||
id = "3_4201_frigate";
|
||||
};
|
||||
valetudo = {
|
||||
title = "Valetudo";
|
||||
description = "vacuum.s0.neet.dev";
|
||||
icon = "hl-valetudo";
|
||||
url = "https://vacuum.s0.neet.dev";
|
||||
target = "sametab";
|
||||
statusCheck = false;
|
||||
id = "4_4201_valetudo";
|
||||
};
|
||||
sandman = {
|
||||
title = "Sandman";
|
||||
description = "sandman.s0.neet.dev";
|
||||
icon = "fas fa-bed";
|
||||
url = "https://sandman.s0.neet.dev";
|
||||
target = "sametab";
|
||||
statusCheck = false;
|
||||
id = "5_4201_sandman";
|
||||
};
|
||||
};
|
||||
haList = [
|
||||
haItems.home-assistant
|
||||
haItems.esphome
|
||||
haItems.zigbee2mqtt
|
||||
haItems.frigate
|
||||
haItems.valetudo
|
||||
haItems.sandman
|
||||
];
|
||||
in
|
||||
{
|
||||
name = "Home Automation";
|
||||
icon = "fas fa-home";
|
||||
items = haList;
|
||||
filteredItems = haList;
|
||||
displayData = {
|
||||
sortBy = "default";
|
||||
rows = 1;
|
||||
cols = 1;
|
||||
collapsed = false;
|
||||
hideForGuests = false;
|
||||
};
|
||||
}
|
||||
)
|
||||
|
||||
(
|
||||
let
|
||||
prodItems = {
|
||||
vikunja = {
|
||||
title = "Vikunja";
|
||||
description = "todo.s0.neet.dev";
|
||||
icon = "hl-vikunja";
|
||||
url = "https://todo.s0.neet.dev";
|
||||
target = "sametab";
|
||||
statusCheck = false;
|
||||
id = "0_5301_vikunja";
|
||||
};
|
||||
actual = {
|
||||
title = "Actual Budget";
|
||||
description = "budget.s0.neet.dev";
|
||||
icon = "hl-actual-budget";
|
||||
url = "https://budget.s0.neet.dev";
|
||||
target = "sametab";
|
||||
statusCheck = false;
|
||||
id = "1_5301_actual";
|
||||
};
|
||||
linkwarden = {
|
||||
title = "Linkwarden";
|
||||
description = "linkwarden.s0.neet.dev";
|
||||
icon = "hl-linkwarden";
|
||||
url = "https://linkwarden.s0.neet.dev";
|
||||
target = "sametab";
|
||||
statusCheck = false;
|
||||
id = "2_5301_linkwarden";
|
||||
};
|
||||
memos = {
|
||||
title = "Memos";
|
||||
description = "memos.s0.neet.dev";
|
||||
icon = "hl-memos";
|
||||
url = "https://memos.s0.neet.dev";
|
||||
target = "sametab";
|
||||
statusCheck = false;
|
||||
id = "3_5301_memos";
|
||||
};
|
||||
outline = {
|
||||
title = "Outline";
|
||||
description = "outline.s0.neet.dev";
|
||||
icon = "hl-outline";
|
||||
url = "https://outline.s0.neet.dev";
|
||||
target = "sametab";
|
||||
statusCheck = false;
|
||||
id = "4_5301_outline";
|
||||
};
|
||||
languagetool = {
|
||||
title = "LanguageTool";
|
||||
description = "languagetool.s0.neet.dev";
|
||||
icon = "hl-languagetool";
|
||||
url = "https://languagetool.s0.neet.dev";
|
||||
target = "sametab";
|
||||
statusCheck = false;
|
||||
id = "5_5301_languagetool";
|
||||
};
|
||||
};
|
||||
prodList = [
|
||||
prodItems.vikunja
|
||||
prodItems.actual
|
||||
prodItems.linkwarden
|
||||
prodItems.memos
|
||||
prodItems.outline
|
||||
prodItems.languagetool
|
||||
];
|
||||
in
|
||||
{
|
||||
name = "Productivity";
|
||||
icon = "fas fa-tasks";
|
||||
items = prodList;
|
||||
filteredItems = prodList;
|
||||
displayData = {
|
||||
sortBy = "default";
|
||||
rows = 1;
|
||||
cols = 1;
|
||||
collapsed = false;
|
||||
hideForGuests = false;
|
||||
};
|
||||
}
|
||||
)
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user