Add *arr media stack + Gitea to jupiter

- sabnzbd, prowlarr, sonarr, radarr, clonarr, seerr, cinephage, mediamanager
  services, wired into jupiter with LAN Caddy vhosts.
- Gitea: migrated the old ZimaOS docker instance's data (sqlite db, 4 repos,
  no LFS objects) into the NixOS module's default stateDir layout. HTTP via
  Caddy; git SSH on its own built-in server at :2222 (not :222 - the unpriv
  gitea user can't bind <1024).
- mediamanager-nix flake input for the mediamanager service.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-19 21:27:50 +02:00
co-authored by Claude Sonnet 5
parent fe5b363b73
commit 69a63dc615
16 changed files with 476 additions and 27 deletions
+19 -2
View File
@@ -14,8 +14,19 @@
../../services/caddy.nix
../../services/tailscale.nix
../../services/jellyfin.nix
../../services/sabnzbd.nix
../../services/prowlarr.nix
../../services/sonarr.nix
../../services/radarr.nix
../../services/clonarr.nix
../../services/seerr.nix
../../services/gitea.nix
];
# sabnzbd's unrar dependency is unfree; scope the allowance to just that
# package rather than blanket-allowing unfree across the host.
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "unrar" ];
# ---- Host identity ----
networking.hostName = "jupiter";
networking.networkmanager.enable = true;
@@ -49,11 +60,17 @@
};
# ---- Caddy vhosts (LAN) ----
# whoami on :80, audiobookshelf via a pihole local-DNS name -> jupiter IP.
# Reached via pihole local-DNS names -> jupiter IP.
services.caddy.virtualHosts = {
"http://localhost".extraConfig = "reverse_proxy localhost:8080";
"http://audiobookshelf.jupiter.sol".extraConfig = "reverse_proxy localhost:8000";
"http://jellyfin.jupiter.sol".extraConfig = "reverse_proxy localhost:8096";
"http://sabnzbd.jupiter.sol".extraConfig = "reverse_proxy localhost:8085";
"http://prowlarr.jupiter.sol".extraConfig = "reverse_proxy localhost:9696";
"http://sonarr.jupiter.sol".extraConfig = "reverse_proxy localhost:8989";
"http://radarr.jupiter.sol".extraConfig = "reverse_proxy localhost:7878";
"http://clonarr.jupiter.sol".extraConfig = "reverse_proxy localhost:6060";
"http://seerr.jupiter.sol".extraConfig = "reverse_proxy localhost:5055";
"http://gitea.jupiter.sol".extraConfig = "reverse_proxy localhost:3000";
};
system.stateVersion = "26.05";