Compare commits
3 commits
7e98e88069
...
6cdc944451
| Author | SHA1 | Date | |
|---|---|---|---|
| 6cdc944451 | |||
| 9a8557c39a | |||
| 590b3e0fea |
6 changed files with 37 additions and 7 deletions
|
|
@ -65,7 +65,7 @@
|
||||||
in {
|
in {
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
thinkpad = nixosConfigWithHome "thinkpad";
|
thinkpad = nixosConfigWithHome "thinkpad";
|
||||||
homelab = nixosConfig "homelab";
|
homelab = nixosConfigWithHome "homelab";
|
||||||
bootstrap = nixosConfig "bootstrap";
|
bootstrap = nixosConfig "bootstrap";
|
||||||
};
|
};
|
||||||
homeConfigurations = {
|
homeConfigurations = {
|
||||||
|
|
|
||||||
5
hosts/homelab/home.nix
Normal file
5
hosts/homelab/home.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
{ ... }: {
|
||||||
|
imports = [
|
||||||
|
../../modules/home
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
@ -6,9 +6,9 @@
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
fileSystems = {
|
fileSystems = {
|
||||||
"/mnt/share" = globalOpts // {
|
# "/mnt/share" = globalOpts // {
|
||||||
device = homelab.disks.share;
|
# device = homelab.disks.share;
|
||||||
};
|
# };
|
||||||
"/mnt/data" = globalOpts // {
|
"/mnt/data" = globalOpts // {
|
||||||
device = homelab.disks.data;
|
device = homelab.disks.data;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -52,11 +52,17 @@
|
||||||
[ "CDN" "http://localhost:3000/" ]
|
[ "CDN" "http://localhost:3000/" ]
|
||||||
[ "Proxy" "https://proxy.${homelab.domain}/" ]
|
[ "Proxy" "https://proxy.${homelab.domain}/" ]
|
||||||
];
|
];
|
||||||
|
external = [
|
||||||
|
[ "Proxmox" "proxmox" "https://server.proxy.${homelab.domain}" "http://server.dns.${homelab.domain}:8006/" ]
|
||||||
|
[ "OpenWRT" "openwrt" "https://router.proxy.${homelab.domain}" "http://router.dns.${homelab.domain}:80/" ]
|
||||||
|
[ "HomeAssistant" "homeassistant" "https://home.proxy.${homelab.domain}" "http://home.dns.${homelab.domain}:8123/" ]
|
||||||
|
[ "OpenMediaVault" "openmediavault" "https://nas.proxy.${homelab.domain}" "http://nas.dns.${homelab.domain}:80/" ]
|
||||||
|
[ "ApacheHTTPD" "apache" "https://cdn.proxy.${homelab.domain}" "http://nas.dns.${homelab.domain}:3000/" ]
|
||||||
|
];
|
||||||
services = [
|
services = [
|
||||||
[ "PocketID" "authentik" "https://auth.${homelab.domain}" "http://localhost:1411/" ]
|
[ "PocketID" "authentik" "https://auth.${homelab.domain}" "http://localhost:1411/" ]
|
||||||
[ "Forgejo" "forgejo" "https://git.${homelab.domain}" "http://localhost:5080/" ]
|
[ "Forgejo" "forgejo" "https://git.${homelab.domain}" "http://localhost:5080/" ]
|
||||||
[ "AdGuardHome" "adguard" "https://dns.proxy.${homelab.domain}" "http://localhost:8088/" ]
|
[ "AdGuardHome" "adguard" "https://dns.proxy.${homelab.domain}" "http://localhost:8088/" ]
|
||||||
[ "ApacheHTTPD" "apache" "https://cdn.proxy.${homelab.domain}" "http://localhost:3000/" ]
|
|
||||||
[ "Immich" "immich" "https://gallery.proxy.${homelab.domain}" "http://localhost:2283/" ]
|
[ "Immich" "immich" "https://gallery.proxy.${homelab.domain}" "http://localhost:2283/" ]
|
||||||
[ "Jellyfin" "jellyfin" "https://media.proxy.${homelab.domain}" "http://localhost:8096/" ]
|
[ "Jellyfin" "jellyfin" "https://media.proxy.${homelab.domain}" "http://localhost:8096/" ]
|
||||||
[ "VaultWarden" "vaultwarden" "https://pass.proxy.${homelab.domain}" "http://localhost:8060/" ]
|
[ "VaultWarden" "vaultwarden" "https://pass.proxy.${homelab.domain}" "http://localhost:8060/" ]
|
||||||
|
|
@ -258,6 +264,19 @@ in {
|
||||||
type = "server-stats";
|
type = "server-stats";
|
||||||
servers = [{ type = "local"; }];
|
servers = [{ type = "local"; }];
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
type = "monitor";
|
||||||
|
cache = "1m";
|
||||||
|
title = "External";
|
||||||
|
sites = map (e: {
|
||||||
|
same-tab = true;
|
||||||
|
allow-insecure = true;
|
||||||
|
title = builtins.elemAt e 0;
|
||||||
|
icon = "si:${builtins.elemAt e 1}";
|
||||||
|
url = builtins.elemAt e 2;
|
||||||
|
check-url = builtins.elemAt e 3;
|
||||||
|
}) external;
|
||||||
|
}
|
||||||
{
|
{
|
||||||
type = "monitor";
|
type = "monitor";
|
||||||
cache = "1m";
|
cache = "1m";
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,18 @@
|
||||||
{ homelab, lib, ... }: let
|
{ homelab, lib, ... }: let
|
||||||
base = "proxy.${homelab.domain}";
|
base = "proxy.${homelab.domain}";
|
||||||
hosts = {
|
hosts = {
|
||||||
|
"server" = { dest = "http://server.dns.${homelab.domain}:8006"; auth = false; };
|
||||||
|
"router" = { dest = "http://router.dns.${homelab.domain}:80"; auth = false; };
|
||||||
|
"home" = { dest = "http://home.dns.${homelab.domain}:8123"; auth = false; };
|
||||||
|
"nas" = { dest = "http://nas.dns.${homelab.domain}:80"; auth = false; };
|
||||||
|
"cdn" = { dest = "http://nas.dns.${homelab.domain}:3000"; auth = false; };
|
||||||
|
|
||||||
"dns" = { dest = "http://localhost:8088"; auth = true; };
|
"dns" = { dest = "http://localhost:8088"; auth = true; };
|
||||||
"ai" = { dest = "http://localhost:8080"; auth = true; };
|
"ai" = { dest = "http://localhost:8080"; auth = true; };
|
||||||
|
|
||||||
"containers" = { dest = "http://localhost:5001"; auth = false; };
|
"containers" = { dest = "http://localhost:5001"; auth = false; };
|
||||||
"remote" = { dest = "http://localhost:8085"; auth = false; };
|
"remote" = { dest = "http://localhost:8085"; auth = false; };
|
||||||
"pass" = { dest = "http://localhost:8060"; auth = false; };
|
"pass" = { dest = "http://localhost:8060"; auth = false; };
|
||||||
"cdn" = { dest = "http://localhost:3000"; auth = false; };
|
|
||||||
|
|
||||||
"gallery" = { dest = "http://localhost:2283"; auth = false; };
|
"gallery" = { dest = "http://localhost:2283"; auth = false; };
|
||||||
"media" = { dest = "http://localhost:8096"; auth = false; };
|
"media" = { dest = "http://localhost:8096"; auth = false; };
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,13 @@
|
||||||
];
|
];
|
||||||
in {
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
|
# ./homelab/share.nix # gonna use omv for now
|
||||||
|
|
||||||
./homelab/containers.nix
|
./homelab/containers.nix
|
||||||
./homelab/gallery.nix
|
./homelab/gallery.nix
|
||||||
./homelab/tunnels.nix
|
./homelab/tunnels.nix
|
||||||
./homelab/remote.nix
|
./homelab/remote.nix
|
||||||
./homelab/media.nix
|
./homelab/media.nix
|
||||||
./homelab/share.nix
|
|
||||||
./homelab/proxy.nix
|
./homelab/proxy.nix
|
||||||
./homelab/auth.nix
|
./homelab/auth.nix
|
||||||
./homelab/pass.nix
|
./homelab/pass.nix
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue