Add dashy and update Jellyfin IP address

This commit is contained in:
Greg Hellings
2025-02-18 15:15:19 -06:00
parent cec6b389fc
commit 6d087c1233
5 changed files with 131 additions and 12 deletions
+2 -1
View File
@@ -54,7 +54,7 @@ let
] ++ extraMods; ] ++ extraMods;
}; };
in in
{ rec {
genesis = unstable { name = "genesis"; }; genesis = unstable { name = "genesis"; };
exodus = unstable { name = "exodus"; }; exodus = unstable { name = "exodus"; };
jude = unstable { name = "jude"; }; jude = unstable { name = "jude"; };
@@ -65,6 +65,7 @@ in
isaiah = unstable { name = "isaiah"; }; isaiah = unstable { name = "isaiah"; };
vm-jellyfin = vm { name = "vm-jellyfin"; }; vm-jellyfin = vm { name = "vm-jellyfin"; };
jellyfin = vm-jellyfin;
vm-matrix = vm { name = "vm-matrix"; }; vm-matrix = vm { name = "vm-matrix"; };
iso = unstable { name = "iso"; }; iso = unstable { name = "iso"; };
+123 -7
View File
@@ -2,8 +2,13 @@
# your system. Help is available in the configuration.nix(5) man page # your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help). # and in the NixOS manual (accessible by running nixos-help).
{ pkgs, ... }: { config, pkgs, ... }:
let
dashy_port = "8080";
speedtest_port = "19472";
uptime_kuma_port = "4000";
in
{ {
imports = [ imports = [
# Include the results of the hardware scan. # Include the results of the hardware scan.
@@ -13,8 +18,16 @@
./networking.nix ./networking.nix
]; ];
greg.home = true; greg = {
greg.gnome.enable = false; home = true;
gnome.enable = false;
proxies = {
"speed.home".target = "http://localhost:${speedtest_port}";
"speedtest.thehellings.lan".target = "http://localhost:${speedtest_port}";
"dashy.home".target = "http://localhost:${dashy_port}";
"uptime.home".target = "http://localhost:${uptime_kuma_port}";
};
};
# Bootloader. # Bootloader.
boot.loader.grub = { boot.loader.grub = {
@@ -31,17 +44,120 @@
# }; # };
#}; #};
networking.hostName = "genesis"; # Define your hostname.
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
awscli2 awscli2
create_ssl create_ssl
step-ca step-ca
]; ];
virtualisation.oci-containers.containers.speedtest = { networking.hostName = "genesis"; # Define your hostname.
services = {
dashy = {
enable = true;
settings = {
appConfig = {
enableFontAwesome = true;
statusCheck = true;
statusCheckInterval = 20;
theme = "callisto";
};
pageInfo = {
description = "Hellings Lab";
navLinks = [
{
path = "/";
title = "Home";
}
{
path = "http://speed.home";
title = "Local Speedtest";
}
];
};
sections = [
{
name = "Hosting";
displayData = {
sortBy = "alphabetical";
rows = 1;
cols = 1;
collapsed = false;
hideForGusts = false;
};
items = [
{
title = "Romans";
description = "Core Proxmox";
icon = "favicon";
url = "https://10.42.1.1:8006";
target = "newtab";
statusCheckAllowInsecure = true;
}
{
title = "Isaiah";
description = "Isaiah Proxmox";
icon = "favicon";
url = "https://isaiah.thehellings.lan:8006";
target = "newtab";
statusCheckAllowInsecure = true;
}
{
title = "Linode";
icon = "favicon";
url = "https://login.linode.com/login";
target = "newtab";
}
];
}
{
name = "Services";
displayData = {
sortBy = "alphabetical";
rows = 1;
cols = 1;
collapsed = false;
hideForGusts = false;
};
items = [
{
title = "Jellyfin";
description = "Home Jellyfin Server";
icon = "favicon";
url = "http://jellyfin.home";
target = "newtab";
}
{
title = "Speedtest";
description = "Local Speedtest";
icon = "favicon";
url = "http://speed.home";
target = "newtab";
}
];
}
];
};
};
uptime-kuma = {
enable = true;
settings = {
PORT = uptime_kuma_port;
};
};
};
virtualisation.oci-containers.containers = {
dashy = {
image = "lissy93/dashy:latest";
hostname = "dashy";
ports = [ "${dashy_port}:${dashy_port}" ];
volumes = [ "${config.services.dashy.finalDrv}/conf.yml:/app/user-data/conf.yml" ];
};
speedtest = {
image = "ghcr.io/librespeed/speedtest"; image = "ghcr.io/librespeed/speedtest";
hostname = "speedtest"; hostname = "speedtest";
ports = [ "19472:80" ]; ports = [ "${speedtest_port}:80" ];
};
}; };
greg.proxies."speedtest.thehellings.lan".target = "http://localhost:19472";
} }
+2 -1
View File
@@ -26,7 +26,7 @@
100.119.228.115 chronicles.home nas.home chronicles.shire-zebra.ts.net 100.119.228.115 chronicles.home nas.home chronicles.shire-zebra.ts.net
100.88.91.27 dns.home 100.88.91.27 dns.home
100.80.99.48 exodus.home 100.80.99.48 exodus.home
100.88.91.27 genesis.home smart.home zwave.home nixcache.home gitcache.home 100.88.91.27 genesis.home smart.home zwave.home nixcache.home gitcache.home dashy.home uptime.home speed.home
100.78.226.76 gitlab.home gitlab.shire-zebra.ts.net gitlab.thehellings.lan registry.thehellings.lan git.thehellings.lan 100.78.226.76 gitlab.home gitlab.shire-zebra.ts.net gitlab.thehellings.lan registry.thehellings.lan git.thehellings.lan
100.68.203.1 hosea.home hosea.shire-zebra.ts.net 100.68.203.1 hosea.home hosea.shire-zebra.ts.net
100.84.183.79 isaiah.home isaiah.shire-zebra.ts.net 100.84.183.79 isaiah.home isaiah.shire-zebra.ts.net
@@ -34,6 +34,7 @@
100.90.74.19 jude.home 100.90.74.19 jude.home
100.115.57.8 linode.home 100.115.57.8 linode.home
100.65.5.38 matrix.home matrix.shire-zebra.ts.net 100.65.5.38 matrix.home matrix.shire-zebra.ts.net
100.92.183.94 jellyfin.home
# Dev hosts # Dev hosts
10.42.101.1 icdm.lan wiki.icdm.lan *.icdm.lan 10.42.101.1 icdm.lan wiki.icdm.lan *.icdm.lan
+1 -1
View File
@@ -111,7 +111,7 @@
ip-address = "10.42.4.1"; # Dendrite ip-address = "10.42.4.1"; # Dendrite
} }
{ {
hw-address = "BC:24:11:A2:F3:6A"; hw-address = "BC:24:11:A2:F3:A6";
ip-address = "10.42.4.2"; # Jellyfin ip-address = "10.42.4.2"; # Jellyfin
} }
]; ];
+1
View File
@@ -5,6 +5,7 @@
greg = { greg = {
proxies."jellyfin.home".target = "http://localhost:8096/"; proxies."jellyfin.home".target = "http://localhost:8096/";
proxies."jellyfin.thehellings.lan".target = "http://localhost:8096/";
tailscale.enable = true; tailscale.enable = true;
}; };