refactor(nixos): add ping to homepage

This commit is contained in:
2026-01-20 17:00:57 +05:30
parent 509a9b49ed
commit d803dd9dc8
4 changed files with 65 additions and 34 deletions

View File

@@ -1,6 +1,6 @@
{device, ...}: { {device, ...}: {
imports = [ imports = [
./immich-machine-learning.nix # ./immich-machine-learning.nix
]; ];
virtualisation = { virtualisation = {
docker.enable = true; docker.enable = true;

View File

@@ -1,26 +1,26 @@
{...}: { {...}: {
imports = [ imports = [
# ./rsyncd.nix # ./rsyncd.nix
# ./sunshine.nix
# ./zerotier.nix # ./zerotier.nix
# ./dnscrypt.nix # ./dnscrypt.nix
./ollama.nix
./tailscale.nix
./samba.nix
./mullvad.nix
./openrgb.nix
./command-runner.nix
./resolved.nix
./minecraft.nix
./fwupd.nix
./caddy.nix ./caddy.nix
./monitoring.nix ./command-runner.nix
./wivrn.nix
./sshd.nix
./fprintd.nix
./handoff.nix
./gstreamer.nix
./dualsense.nix ./dualsense.nix
./fprintd.nix
./fwupd.nix
./gstreamer.nix
./handoff.nix
./minecraft.nix
./monitoring.nix
./mullvad.nix
./ollama.nix
./openrgb.nix
./openssh.nix ./openssh.nix
./resolved.nix
./samba.nix
./sshd.nix
# ./sunshine.nix
./tailscale.nix
./wivrn.nix
]; ];
} }

View File

@@ -0,0 +1,19 @@
{
device,
config,
...
}: {
services = {
blocky = {
enable = true;
settings = {
ports.dns = 53;
ports.http = 83838;
ports.dohPath = "/dns-query";
};
};
caddy.virtualHosts."blocky.${device.domain}".extraConfig = ''
reverse_proxy localhost:83838
'';
};
}

View File

@@ -24,6 +24,7 @@
icon = "jellyfin.png"; icon = "jellyfin.png";
description = "Jellyfin Media Server"; description = "Jellyfin Media Server";
href = "https://jellyfin.tsuba.darksailor.dev"; href = "https://jellyfin.tsuba.darksailor.dev";
ping = "jellyfin.tsuba.darksailor.dev";
}; };
} }
{ {
@@ -31,6 +32,7 @@
icon = "sonarr.png"; icon = "sonarr.png";
description = "Sonarr: TV Series Management"; description = "Sonarr: TV Series Management";
href = "https://sonarr.tsuba.darksailor.dev"; href = "https://sonarr.tsuba.darksailor.dev";
ping = "sonarr.tsuba.darksailor.dev";
}; };
} }
{ {
@@ -38,6 +40,7 @@
icon = "bazarr.png"; icon = "bazarr.png";
description = "Bazarr: Subtitles and Metadata"; description = "Bazarr: Subtitles and Metadata";
href = "https://bazarr.tsuba.darksailor.dev"; href = "https://bazarr.tsuba.darksailor.dev";
ping = "bazarr.tsuba.darksailor.dev";
}; };
} }
{ {
@@ -45,6 +48,7 @@
icon = "radarr.png"; icon = "radarr.png";
description = "Radarr: Movie Management"; description = "Radarr: Movie Management";
href = "https://radarr.tsuba.darksailor.dev"; href = "https://radarr.tsuba.darksailor.dev";
ping = "radarr.tsuba.darksailor.dev";
}; };
} }
{ {
@@ -52,13 +56,15 @@
icon = "deluge.png"; icon = "deluge.png";
description = "Deluge: Torrent Client"; description = "Deluge: Torrent Client";
href = "https://deluge.tsuba.darksailor.dev"; href = "https://deluge.tsuba.darksailor.dev";
ping = "deluge.tsuba.darksailor.dev";
}; };
} }
{ {
"Prowlarr" = { "Prowlarr" = {
icon = "prowlarr.png"; icon = "prowlarr.png";
description = "Prowlarr: Indexer Manager"; description = "Prowlarr: Indexer Manager";
href = "https://prowlarr.tsuba.darksailor.dev"; href = "https://prowlarr.darksailor.dev";
ping = "prowlarr.darksailor.dev";
}; };
} }
{ {
@@ -66,6 +72,7 @@
icon = "home-assistant.png"; icon = "home-assistant.png";
description = "Home Automation"; description = "Home Automation";
href = "https://home.darksailor.dev"; href = "https://home.darksailor.dev";
ping = "home.darksailor.dev";
}; };
} }
]; ];
@@ -77,6 +84,7 @@
icon = "gitea.png"; icon = "gitea.png";
description = "Gitea Code Hosting"; description = "Gitea Code Hosting";
href = "https://git.darksailor.dev"; href = "https://git.darksailor.dev";
ping = "git.darksailor.dev";
}; };
} }
{ {
@@ -84,6 +92,7 @@
icon = "nextcloud.png"; icon = "nextcloud.png";
description = "Nextcloud Suite"; description = "Nextcloud Suite";
href = "https://cloud.darksailor.dev"; href = "https://cloud.darksailor.dev";
ping = "cloud.darksailor.dev";
}; };
} }
{ {
@@ -91,6 +100,7 @@
icon = "immich.png"; icon = "immich.png";
description = "Immich: Self-hosted Photo and Video Backup"; description = "Immich: Self-hosted Photo and Video Backup";
href = "https://photos.darksailor.dev"; href = "https://photos.darksailor.dev";
ping = "photos.darksailor.dev";
}; };
} }
{ {
@@ -98,6 +108,7 @@
icon = "excalidraw.png"; icon = "excalidraw.png";
description = "Excalidraw: Self-hosted Collaborative Whiteboard"; description = "Excalidraw: Self-hosted Collaborative Whiteboard";
href = "https://draw.darksailor.dev"; href = "https://draw.darksailor.dev";
ping = "draw.darksailor.dev";
}; };
} }
{ {
@@ -105,13 +116,15 @@
icon = "navidrome.png"; icon = "navidrome.png";
description = "A self-hosted music server and streamer."; description = "A self-hosted music server and streamer.";
href = "https://music.darksailor.dev"; href = "https://music.darksailor.dev";
ping = "music.darksailor.dev";
}; };
} }
{ {
"OpenwebUI" = { "OpenwebUI" = {
icon = "openwebui.png"; icon = "open-webui.png";
description = "OpenwebUI: Self-hosted AI chat interface"; description = "OpenwebUI: Self-hosted AI chat interface";
href = "https://chat.darksailor.dev"; href = "https://chat.darksailor.dev";
ping = "chat.darksailor.dev";
}; };
} }
]; ];
@@ -166,23 +179,22 @@
}; };
caddy = { caddy = {
virtualHosts."dashboard.darksailor.dev".extraConfig = '' virtualHosts."dashboard.darksailor.dev".extraConfig = ''
# import auth
reverse_proxy localhost:${builtins.toString config.services.homepage-dashboard.listenPort} reverse_proxy localhost:${builtins.toString config.services.homepage-dashboard.listenPort}
''; '';
}; };
authelia = { # authelia = {
instances.darksailor = { # instances.darksailor = {
settings = { # settings = {
access_control = { # access_control = {
rules = [ # rules = [
{ # {
domain = "dashboard.darksailor.dev"; # domain = "dashboard.darksailor.dev";
policy = "one_factor"; # policy = "one_factor";
} # }
]; # ];
}; # };
}; # };
}; # };
}; # };
}; };
} }