Skip to content

Commit

Permalink
Add homepage dashboard for root domain of homelab
Browse files Browse the repository at this point in the history
  • Loading branch information
joinemm committed Dec 20, 2024
1 parent ea75b09 commit 228c918
Show file tree
Hide file tree
Showing 2 changed files with 96 additions and 7 deletions.
96 changes: 92 additions & 4 deletions hosts/nickel/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
owner = user.name;
};
cloudflare_env.owner = "root";
homepage_env.owner = "root";
};
};

Expand Down Expand Up @@ -162,6 +163,92 @@

services.vnstat.enable = true;

services.homepage-dashboard = {
enable = true;
environmentFile = config.sops.secrets.homepage_env.path;
settings = {
layout = [
{
"Media" = {
style = "row";
columns = "2";
};
"System" = {
style = "row";
columns = "1";
};
}
];
};
services = [
{
"Media" = [
{
audiobookshelf = {
icon = "audiobookshelf.png";
href = "https://audio.lab.joinemm.dev";
widget = {
type = "audiobookshelf";
url = "http://127.0.0.1:${toString config.services.audiobookshelf.port}";
key = "{{HOMEPAGE_VAR_AUDIOBOOKSHELF_KEY}}";
};
};
}
{
radarr = {
icon = "radarr.png";
href = "https://radarr.lab.joinemm.dev";
widget = {
type = "radarr";
url = "http://127.0.0.1:7878";
key = "{{HOMEPAGE_VAR_RADARR_KEY}}";
};
};
}
{
sonarr = {
icon = "sonarr.png";
href = "https://sonarr.lab.joinemm.dev";
widget = {
type = "sonarr";
url = "http://127.0.0.1:8989";
key = "{{HOMEPAGE_VAR_SONARR_KEY}}";
};
};
}
{
jellyfin = {
icon = "jellyfin.png";
href = "https://jellyfin.lab.joinemm.dev";
widget = {
type = "jellyfin";
url = "http://127.0.0.1:8096";
key = "{{HOMEPAGE_VAR_JELLYFIN_KEY}}";
enableBlocks = true;
enableUser = true;
showEpisodeNumber = true;
};
};
}
];
}
{
"System" = [
{
scrutiny = {
icon = "scrutiny.png";
href = "https://scrutiny.lab.joinemm.dev";
widget = {
type = "scrutiny";
url = "http://127.0.0.1:${toString config.services.scrutiny.settings.web.listen.port}";
};
};
}
];
}
];
};

services.immich = {
enable = true;
openFirewall = true;
Expand Down Expand Up @@ -256,7 +343,11 @@
};
};

# proxy on domain with https, only accessible within local network
# proxies on domain with https, only accessible within local network
"${labDomain}" = labCert // {
locations."/".proxyPass =
"http://127.0.0.1:${toString config.services.homepage-dashboard.listenPort}";
};
"deluge.${labDomain}" = labCert // {
locations."/".proxyPass = "http://127.0.0.1:${toString config.services.deluge.web.port}";
};
Expand Down Expand Up @@ -400,9 +491,6 @@
};

home-manager.users.${user.name} = {
imports = [
inputs.sops-nix.homeManagerModules.sops
];
home.stateVersion = config.system.stateVersion;
xdg.configFile."recyclarr/recyclarr.yml".source = ./recyclarr.yml;
};
Expand Down
7 changes: 4 additions & 3 deletions hosts/nickel/secrets.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
ssh_host_ed25519_key: ENC[AES256_GCM,data:cz4p88+FeCJj92KeWGPaSnBo8fRKcjVGzgvOg3YZE6kroQ6+MeNFhhhhdQxfjQ8M6FAFIuy/YN17x15TdpS14biebebwVeXiYU6Gu1PS+qkIcL0bDpoBdYqKPZbxW9xRSPEGCtM0dzH22HmN3ZOJDH1DeZS8WHRVKeMj0FngcBc7VwPdmRy7ZYQbbkpQXgq2h0ZjcERi4oBBRssuNeS8UpJrfNCtYdPKwHetjrF5DA93Mj2iqsSVdmvCVHjZu2NQXVdr/uhxkGhnsSMcXiQOlTqBnUwhAqfR00ZEaoZhjYWgcgQ60RS9LDA/7+N2rJMGM1d2WSdWhia+FLgyKIIuE3ny6ojepE5H61aFnEjfV3OChWZYxNRjmHYo9eDC986BasXYiLRd+hfN79PGm3qszZ0dqiy6uG8evTGy++85Kr0OKHSBldY/BgiDAtA3lGhMzZkO16ehvo5FxDQdRYC1mIS44/MPGRw7HJWWBibE+TA108t9folktuxAM6uvbDEnO5fvcB9Fp+nIPV/sEHIk,iv:sHBn6N7zmCa5IzEYQyV6OEwCdemKp5ZjRTNgGIxy/zA=,tag:9JFPqVfc6fTrtY44PEjLzw==,type:str]
wireguard.conf: ENC[AES256_GCM,data:dNBGJc86rOXTgXC2QNXvHumj6pv9id88wYdFh/ZgIgzk26MOf2SVGWJkuEyt+k2snQ+tHEOywzaMO3apl/FJ4qzx+IrI4/vTRnLPTZ1bqaw+P+Nx+EI4wk8FCGmBpaP55QTOSDa1Tz99lqit5/ppDrFm8MikfzOVGwe9OQgm45o/i0sD7I4HnOkkRTK7MCN4eqnw0hwRIf756W6RySLABsAZsqGrwbbKckxJxXY3v8NDDBNcaZOz6S30tI0dqc4eX/qjRFpoVHITuxYXyvMbyzW5OMVSwQeOyn1D6fsqsJxYrOOSK+stUiRRGBA9Iu1tI6CufVMzjB/fApv7gHYsB2O6XDnysFeSNpwj/jD0lL+sQrUIPsL9hcytsXwr5z4D2KzkGHn7lFrS2sHIbouoCzcN2Fnjz86WVDCjXqTMg9avwIKnfwTDnbMgI+bAIT9H+9bob0LIwjJLsyz3LOTigZlijJrj4IMNFn8JOSIGF1qAKaYByXKVEDL3iRGYow==,iv:epdurkZpvp+F3pkOgYxImcaei8RNCn1qP0cvcsZT5ds=,tag:gOoBKe4S1Z9L+hGjEE7l3A==,type:str]
cloudflare_env: ENC[AES256_GCM,data:NFVeZWTB5jBHhtFTwYgbHGgUCS8oAxdcGUd/F4DGLeOR5BUT+NN97TNLrTm9qryMydhfHYxj44bsXw==,iv:OrsuZqmhIAKreNeamT62IoAkKSLYIVN8v5oeU7oaX9A=,tag:P4HLhDHPKwFMQhxHME3zqQ==,type:str]
homepage_env: ENC[AES256_GCM,data:x4qj5O9qgwC5MUQZg9nhE7csV4G/21znq7bvgg8/x+i0a3nGhWAB9BNzHX/LA3Dh3ZyoGcOGL/i0yLlpsqb5FpxduoE7JKxrfBZB8QvX8lilQSf5TW7CIr0sAdTOX88Sc8bhnlzeT5ns/1zrwqh0X1mpIykyv4A5O0qGV93Mv81Ouqkbr03EfXhGkeVYV1dMvTY0Hzqk/KcSHrYDNtnH2RLBCoAPgiSC+mVKMp215H1kY5nc2E1Da9gB10RmLPa68kdfQ7WqqaxXpYrRNze9r5w+hNc9zaXnREuU+omdSZkLTU2w/QyNwL0v9fZekj3Nqac9F5YyrfiNZFsulvXkd9pZ/At6kSnQ0xgTjT+r/qoDLKm0gB80tj0SGL5be9BCacyP/c+0/DrDjjvfh3mCoW426fG5a8bqbtFHXJJVb0OX+aIgiRFDst5wzu+2Uvl8zY+AxCPiEJstFcU4mlQ75vlQ4mjl6mta2ASKDk1u06rzIIygUFecOnBc3Vc2qUzTV3YcyrWFu/L2emtNhMJVIHxQ,iv:nXp1xNR1H5NR4jZot9PKnhRN3CD5ZHshpWkgIdORRsI=,tag:E4h99Q20Ydqx/5L8gAYOyw==,type:str]
sops:
kms: []
gcp_kms: []
Expand All @@ -16,8 +17,8 @@ sops:
RnRPSndjSUV5R205VUFoc3BLbVRKRjQK2bO9F/cQD0PJmhiIfF36C1ca5Pr4miRY
OGir48nhEwF7zPcuHhYUQkJjo4QJrm2sDgfjyiOPR9A3Wri/v0MoUw==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2024-11-20T09:55:04Z"
mac: ENC[AES256_GCM,data:k5RMgByyCwX7gGT14vhG2lSQtDLH3odtzGKcW6cNV0Fn0Q6lmSCPkepM4vw1DEVMyoHMhDbpFDp8YkD0J2QgzxHuk639MEZDeohZd03rmjlZSGxRAkZ/5W0+qdHal+cZyiWnaG7A2o7Ue1IjQfWVPVzpoxkzcTLZGFOgnLUcDig=,iv:C2zhOMUNOVDO2Jybi1kJc+Q1sqmWgV2NVtg5aSL0LIQ=,tag:+rFpx+Aanf13VEzw9hKV9A==,type:str]
lastmodified: "2024-12-20T17:12:34Z"
mac: ENC[AES256_GCM,data:z+Sg3Irb/HAeIcmQuB2KFndAZIP50nnjU49aYgftMQbrxIpuThdWY2G35ppoxh76gF2YCxrYbM1jZijVIaUPoBUJo9jL9FPTG9F2Hy7pWVhslVAGRNtTVMLEn0YTLo/mBgKP3HiAWQbHGYIKEHw9b6+/qDBNV5TtSv86YBTBh4s=,iv:ifPtxeXVJzCc7RncnukPe0fLP6YQt/SYRgzJEt9rSgY=,tag:jFfRCCcf+lZW4DIudJKEHA==,type:str]
pgp:
- created_at: "2024-11-02T13:37:01Z"
enc: |-
Expand Down Expand Up @@ -51,4 +52,4 @@ sops:
-----END PGP MESSAGE-----
fp: 87ECDD306614E5105299F0D4090EB48A4669AA54
unencrypted_suffix: _unencrypted
version: 3.9.1
version: 3.9.2

0 comments on commit 228c918

Please sign in to comment.