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"; }];
|
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;
|
statusCheck = true;
|
||||||
id = "1_746_wireless";
|
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 = [
|
networkList = [
|
||||||
networkItems.gateway
|
networkItems.gateway
|
||||||
networkItems.wireless
|
networkItems.wireless
|
||||||
|
networkItems.unifi
|
||||||
];
|
];
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
@@ -259,14 +269,59 @@
|
|||||||
statusCheck = true;
|
statusCheck = true;
|
||||||
id = "6_836_roundcube";
|
id = "6_836_roundcube";
|
||||||
};
|
};
|
||||||
jitsimeet = {
|
ntfy = {
|
||||||
title = "Jitsi Meet";
|
title = "ntfy";
|
||||||
description = "meet.neet.space";
|
description = "ntfy.neet.dev";
|
||||||
icon = "hl-jitsimeet";
|
icon = "hl-ntfy";
|
||||||
url = "https://meet.neet.space";
|
url = "https://ntfy.neet.dev";
|
||||||
target = "sametab";
|
target = "sametab";
|
||||||
statusCheck = true;
|
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 = [
|
servicesList = [
|
||||||
@@ -276,7 +331,12 @@
|
|||||||
servicesItems.git
|
servicesItems.git
|
||||||
servicesItems.nextcloud
|
servicesItems.nextcloud
|
||||||
servicesItems.roundcube
|
servicesItems.roundcube
|
||||||
servicesItems.jitsimeet
|
servicesItems.ntfy
|
||||||
|
servicesItems.librechat
|
||||||
|
servicesItems.owncast
|
||||||
|
servicesItems.navidrome-public
|
||||||
|
servicesItems.collabora
|
||||||
|
servicesItems.gatus
|
||||||
];
|
];
|
||||||
in
|
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