feat: Added homepage
This commit is contained in:
@@ -1,11 +1,14 @@
|
|||||||
{...}: {
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
services = {
|
services = {
|
||||||
caddy = {
|
caddy = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# virtualHosts = {
|
# package = pkgs.caddy.withPlugins {
|
||||||
# "home.darksailor.dev".extraConfig = ''
|
# plugins = ["github.com/caddy-dns/hetzner@c1104f8d1e376a062bce86cd53025c2187a6be45"];
|
||||||
# reverse_proxy http://tsuba.lemur-newton.ts.net:8123
|
# hash = "sha256-9ea0CfOHG7JhejB73HjfXQpnonn+ZRBqLNz1fFRkcDQ=";
|
||||||
# '';
|
|
||||||
# };
|
# };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
./caddy.nix
|
./caddy.nix
|
||||||
./fail2ban.nix
|
./fail2ban.nix
|
||||||
./gitea.nix
|
./gitea.nix
|
||||||
|
./homepage.nix
|
||||||
# ./nextcloud.nix
|
# ./nextcloud.nix
|
||||||
|
|
||||||
# ./navidrome.nix
|
# ./navidrome.nix
|
||||||
|
|||||||
@@ -8,6 +8,11 @@
|
|||||||
ENABLE_REVERSE_PROXY_AUTHENTICATION = true;
|
ENABLE_REVERSE_PROXY_AUTHENTICATION = true;
|
||||||
ENABLE_REVERSE_PROXY_AUTO_REGISTRATION = true;
|
ENABLE_REVERSE_PROXY_AUTO_REGISTRATION = true;
|
||||||
};
|
};
|
||||||
|
mailer = {
|
||||||
|
ENABLED = true;
|
||||||
|
PROTOCOL = "sendmail";
|
||||||
|
# SENDMAIL_PATH = "sendmail";
|
||||||
|
};
|
||||||
security = {
|
security = {
|
||||||
REVERSE_PROXY_AUTHENTICATION_USER = "REMOTE-USER";
|
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 = {
|
nextcloud = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.nextcloud30;
|
package = pkgs.nextcloud30;
|
||||||
# extraApps = {
|
extraApps = {
|
||||||
# inherit (config.services.nextcloud.package.packages.apps) news contacts calendar;
|
inherit (config.services.nextcloud.package.packages.apps) news contacts calendar;
|
||||||
# };
|
};
|
||||||
# extraAppsEnable = true;
|
extraAppsEnable = true;
|
||||||
hostName = "cloud.darksailor.dev";
|
hostName = "cloud.darksailor.dev";
|
||||||
config.adminuser = "servius";
|
config.adminuser = "servius";
|
||||||
config.adminpassFile = config.sops.secrets."nextcloud/adminpass".path;
|
config.adminpassFile = config.sops.secrets."nextcloud/adminpass".path;
|
||||||
|
|||||||
Reference in New Issue
Block a user