This commit is contained in:
41666 2025-01-07 13:41:47 -08:00
parent 3433afa69c
commit 0d4a8dc6e3
3 changed files with 112 additions and 17 deletions

View file

@ -3,6 +3,7 @@
../../templates/proxmox-lxc.nix ../../templates/proxmox-lxc.nix
../../server.nix ../../server.nix
../../features/podman.nix ../../features/podman.nix
# ../../features/nginx.nix
]; ];
networking.hostName = "pihole"; networking.hostName = "pihole";
@ -10,7 +11,7 @@
nixpkgs.hostPlatform = "x86_64-linux"; nixpkgs.hostPlatform = "x86_64-linux";
networking.firewall = { networking.firewall = {
allowedTCPPorts = [ 53 80 ]; allowedTCPPorts = [ 53 80 443 ];
allowedUDPPorts = [ 53 ]; allowedUDPPorts = [ 53 ];
}; };
@ -18,20 +19,39 @@
enable = false; enable = false;
}; };
networking.nameservers = [ networking.nameservers = lib.mkForce [
"2606:4700:4700::1111#one.one.one.one" "2606:4700:4700::1111"
"2606:4700:4700::1001#one.one.one.one" "2606:4700:4700::1001"
"1.1.1.1#one.one.one.one" "1.1.1.1"
"1.0.0.1#one.one.one.one" "1.0.0.1"
]; ];
# services.nginx = {
# virtualHosts."pihole.hoki-porgy.ts.net" = {
# listen = [
# { addr = "0.0.0.0"; port = 443; ssl = true; }
# { addr = "[::]"; port = 443; ssl = true; }
# ];
# locations."/" = {
# recommendedProxySettings = true;
# proxyPass = "http://localhost:80";
# };
# };
# };
virtualisation.oci-containers.containers = { virtualisation.oci-containers.containers = {
pihole = { pihole = {
image = "docker.io/pihole/pihole"; image = "ghcr.io/pi-hole/pihole:nightly";
ports = [ ports = [
"53:53/tcp" "53:53/tcp"
"53:53/udp" "53:53/udp"
"80:80/tcp" "80:80/tcp"
"443:443/tcp"
"67:67/tcp"
"67:67/udp"
]; ];
volumes = [ volumes = [
"etc-pihole:/etc/pihole" "etc-pihole:/etc/pihole"
@ -41,8 +61,9 @@
TZ = config.time.timeZone; TZ = config.time.timeZone;
VIRTUAL_HOST = "pihole.hoki-porgy.ts.net"; VIRTUAL_HOST = "pihole.hoki-porgy.ts.net";
PROXY_LOCATION = "pihole.hoki-porgy.ts.net"; PROXY_LOCATION = "pihole.hoki-porgy.ts.net";
# FTLCONF_LOCAL_IPV4 = config.networking.interfaces.tailscale0.ipv4.addresses[0].address; DNSMASQ_LISTENING = "all";
}; };
extraOptions = ["--dns=127.0.0.1" "--dns=1.1.1.1" "--cap-add=NET_ADMIN"];
}; };
}; };
} }

View file

@ -17,5 +17,5 @@
nixpkgs.hostPlatform = "x86_64-linux"; nixpkgs.hostPlatform = "x86_64-linux";
internal.nas0.useSMB = true; internal.nas0.useSMB = true;
internal.nas0.lazyMount = false; internal.nas0.lazyMount = true;
} }

View file

@ -1,9 +1,83 @@
<!DOCTYPE html> <!DOCTYPE html>
<p>user: foxfox</p> <title>seedbox</title>
<ul> <style>
<li><a href="/prowlarr">prowlarr</a> (trackers)</li> html {
<li><a href="/lidarr">lidarr</a> (music)</li> background-color: #1f1515;
<li><a href="/radarr">radarr</a> (movies)</li> color: #efefef;
<li><a href="/sonarr">sonarr</a> (shows)</li> }
<li><a href="/transmission">transmission</a> (torrent client)</li> main {
</ul> margin: 0 auto;
text-align: center;
}
section {
display: flex;
justify-content: center;
align-items: center;
a {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
background-color: #8a5151;
margin: 10px;
color: #efefef;
text-decoration: none;
&:hover {
background-color: #698cc0;
}
}
&.big a {
width: 150px;
height: 150px;
}
&.small a {
width: 150px;
height: 100px;
}
}
.emoji {
font-size: 60px;
}
.title {
font-weight: bold;
font-size: 1.1em;
}
</style>
<main>
<header><h1>the seedbox</h1></header>
<section class="big">
<a href="/sonarr">
<div class="emoji">📺</div>
<div class="title">Shows &amp; Anime</div>
<div>sonarr</div>
</a>
<a href="/radarr">
<div class="emoji">🎥</div>
<div class="title">Movies</div>
<div>Radarr</div>
</a>
<a href="/lidarr">
<div class="emoji">🎶</div>
<div class="title">Music</div>
<div>Lidarr</div>
</a>
</section>
<section class="small">
<a href="/prowlarr">
<div class="title">Tracker Management</div>
<div>prowlarr</div>
</a>
<a href="/transmission">
<div class="title">Torrent Client</div>
<div>transmission</div>
</a>
</section>
<footer>Username/Password: <code>foxfox</code></section>
</main>