feat: Added homepage
This commit is contained in:
@@ -1,11 +1,14 @@
|
||||
{...}: {
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
services = {
|
||||
caddy = {
|
||||
enable = true;
|
||||
# virtualHosts = {
|
||||
# "home.darksailor.dev".extraConfig = ''
|
||||
# reverse_proxy http://tsuba.lemur-newton.ts.net:8123
|
||||
# '';
|
||||
# package = pkgs.caddy.withPlugins {
|
||||
# plugins = ["github.com/caddy-dns/hetzner@c1104f8d1e376a062bce86cd53025c2187a6be45"];
|
||||
# hash = "sha256-9ea0CfOHG7JhejB73HjfXQpnonn+ZRBqLNz1fFRkcDQ=";
|
||||
# };
|
||||
};
|
||||
};
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
./caddy.nix
|
||||
./fail2ban.nix
|
||||
./gitea.nix
|
||||
./homepage.nix
|
||||
# ./nextcloud.nix
|
||||
|
||||
# ./navidrome.nix
|
||||
|
||||
@@ -8,6 +8,11 @@
|
||||
ENABLE_REVERSE_PROXY_AUTHENTICATION = true;
|
||||
ENABLE_REVERSE_PROXY_AUTO_REGISTRATION = true;
|
||||
};
|
||||
mailer = {
|
||||
ENABLED = true;
|
||||
PROTOCOL = "sendmail";
|
||||
# SENDMAIL_PATH = "sendmail";
|
||||
};
|
||||
security = {
|
||||
REVERSE_PROXY_AUTHENTICATION_USER = "REMOTE-USER";
|
||||
};
|
||||
|
||||
94
nixos/mirai/services/homepage.nix
Normal file
94
nixos/mirai/services/homepage.nix
Normal file
@@ -0,0 +1,94 @@
|
||||
{...}: {
|
||||
services = {
|
||||
homepage-dashboard = {
|
||||
enable = true;
|
||||
allowedHosts = "dashboard.darksailor.dev";
|
||||
settings = {
|
||||
title = "Servius' Dashboard";
|
||||
description = "A collection of services and links for quick access.";
|
||||
};
|
||||
widgets = [
|
||||
{
|
||||
resources = {
|
||||
cpu = true;
|
||||
disk = "/";
|
||||
memory = true;
|
||||
};
|
||||
}
|
||||
];
|
||||
services = [
|
||||
{
|
||||
"Tsuba" = [
|
||||
{
|
||||
"Jellyfin" = {
|
||||
description = "Jellyfin Media Server";
|
||||
href = "https://jellyfin.tsuba.darksailor.dev";
|
||||
};
|
||||
}
|
||||
{
|
||||
"Sonarr" = {
|
||||
description = "Sonarr";
|
||||
href = "https://sonarr.tsuba.darksailor.dev";
|
||||
};
|
||||
}
|
||||
{
|
||||
"Radarr" = {
|
||||
description = "Radarr";
|
||||
href = "https://radarr.tsuba.darksailor.dev";
|
||||
};
|
||||
}
|
||||
{
|
||||
"Deluge" = {
|
||||
description = "Deluge";
|
||||
href = "https://deluge.tsuba.darksailor.dev";
|
||||
};
|
||||
}
|
||||
{
|
||||
"Jackett" = {
|
||||
description = "Jackett";
|
||||
href = "https://jackett.tsuba.darksailor.dev";
|
||||
};
|
||||
}
|
||||
{
|
||||
"Home Assistant" = {
|
||||
description = "Home Automation";
|
||||
href = "https://home.darksailor.dev";
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
"Mirai" = [
|
||||
{
|
||||
"Gitea" = {
|
||||
description = "Gitea Code Hosting";
|
||||
href = "https://git.darksailor.dev";
|
||||
};
|
||||
}
|
||||
{
|
||||
"Nextcloud" = {
|
||||
description = "Nextcloud Cloud Storage";
|
||||
href = "https://cloud.darksailor.dev";
|
||||
};
|
||||
}
|
||||
{
|
||||
"Open WebUI" = {
|
||||
description = "Open WebUI for self hosted llms";
|
||||
href = "https://llama.darksailor.dev";
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
caddy = {
|
||||
virtualHosts."dashboard.darksailor.dev".extraConfig = ''
|
||||
forward_auth localhost:5555 {
|
||||
uri /api/authz/forward-auth
|
||||
copy_headers Remote-User Remote-Groups Remote-Email Remote-Name
|
||||
}
|
||||
reverse_proxy localhost:8082
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -10,10 +10,10 @@
|
||||
nextcloud = {
|
||||
enable = true;
|
||||
package = pkgs.nextcloud30;
|
||||
# extraApps = {
|
||||
# inherit (config.services.nextcloud.package.packages.apps) news contacts calendar;
|
||||
# };
|
||||
# extraAppsEnable = true;
|
||||
extraApps = {
|
||||
inherit (config.services.nextcloud.package.packages.apps) news contacts calendar;
|
||||
};
|
||||
extraAppsEnable = true;
|
||||
hostName = "cloud.darksailor.dev";
|
||||
config.adminuser = "servius";
|
||||
config.adminpassFile = config.sops.secrets."nextcloud/adminpass".path;
|
||||
|
||||
Reference in New Issue
Block a user