diff options
Diffstat (limited to 'hosts/laurel/servarr.nix')
-rw-r--r-- | hosts/laurel/servarr.nix | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/hosts/laurel/servarr.nix b/hosts/laurel/servarr.nix new file mode 100644 index 0000000..cc225c1 --- /dev/null +++ b/hosts/laurel/servarr.nix | |||
@@ -0,0 +1,107 @@ | |||
1 | { self, config, lib, pkgs, ... }: | ||
2 | |||
3 | { | ||
4 | imports = [ ]; | ||
5 | |||
6 | nixpkgs.overlays = with self.overlays; [ | ||
7 | flaresolverr | ||
8 | ]; | ||
9 | |||
10 | users.groups."torrent".members = [ | ||
11 | "op" | ||
12 | "sonarr" | ||
13 | "radarr" | ||
14 | "bazarr" | ||
15 | "jackett" | ||
16 | "lidarr" | ||
17 | "jellyfin" | ||
18 | "transmission" | ||
19 | ]; | ||
20 | users.users.torrent = { | ||
21 | isNormalUser = true; | ||
22 | extraGroups = [ "wheel" "tty" ]; | ||
23 | }; | ||
24 | services.transmission = { | ||
25 | enable = true; | ||
26 | openFirewall = true; | ||
27 | openRPCPort = true; | ||
28 | user = "torrent"; | ||
29 | settings = { | ||
30 | download-dir = "/torrents"; | ||
31 | incomplete-dir = "/.incomplete"; | ||
32 | rpc-bind-address = "0.0.0.0"; | ||
33 | rpc-whitelist = "127.0.0.1,10.0.0.1,192.168.*.*,100.64.*.*"; | ||
34 | }; | ||
35 | }; | ||
36 | services.nginx.virtualHosts."torrent.${config.networking.hostName}" = { | ||
37 | listen = [{ port = 80; addr = "0.0.0.0"; }]; | ||
38 | locations."/" = { | ||
39 | proxyPass = "http://127.0.0.1:9091"; | ||
40 | }; | ||
41 | }; | ||
42 | |||
43 | services.sonarr = { | ||
44 | enable = true; | ||
45 | openFirewall = true; | ||
46 | group = "torrent"; | ||
47 | }; | ||
48 | services.nginx.virtualHosts."sonarr.${config.networking.hostName}" = { | ||
49 | listen = [{ port = 80; addr = "0.0.0.0"; }]; | ||
50 | locations."/" = { | ||
51 | proxyPass = "http://127.0.0.1:8989"; | ||
52 | }; | ||
53 | }; | ||
54 | |||
55 | services.radarr = { | ||
56 | enable = true; | ||
57 | openFirewall = true; | ||
58 | group = "torrent"; | ||
59 | }; | ||
60 | services.nginx.virtualHosts."radarr.${config.networking.hostName}" = { | ||
61 | listen = [{ port = 80; addr = "0.0.0.0"; }]; | ||
62 | locations."/" = { | ||
63 | proxyPass = "http://127.0.0.1:7878"; | ||
64 | }; | ||
65 | }; | ||
66 | |||
67 | services.bazarr = { | ||
68 | enable = true; | ||
69 | openFirewall = true; | ||
70 | group = "torrent"; | ||
71 | }; | ||
72 | services.nginx.virtualHosts."bazarr.${config.networking.hostName}" = { | ||
73 | listen = [{ port = 80; addr = "0.0.0.0"; }]; | ||
74 | locations."/" = { | ||
75 | proxyPass = "http://127.0.0.1:6767"; | ||
76 | }; | ||
77 | }; | ||
78 | |||
79 | services.jackett = { | ||
80 | enable = true; | ||
81 | openFirewall = true; | ||
82 | group = "torrent"; | ||
83 | }; | ||
84 | services.nginx.virtualHosts."jackett.${config.networking.hostName}" = { | ||
85 | listen = [{ port = 80; addr = "0.0.0.0"; }]; | ||
86 | locations."/" = { | ||
87 | proxyPass = "http://127.0.0.1:9117"; | ||
88 | }; | ||
89 | }; | ||
90 | |||
91 | services.lidarr = { | ||
92 | enable = true; | ||
93 | openFirewall = true; | ||
94 | group = "torrent"; | ||
95 | }; | ||
96 | services.nginx.virtualHosts."lidarr.${config.networking.hostName}" = { | ||
97 | listen = [{ port = 80; addr = "0.0.0.0"; }]; | ||
98 | locations."/" = { | ||
99 | proxyPass = "http://127.0.0.1:8686"; | ||
100 | }; | ||
101 | }; | ||
102 | |||
103 | services.flaresolverr.enable = true; | ||
104 | |||
105 | } | ||
106 | |||
107 | |||