aboutsummaryrefslogtreecommitdiff
path: root/hosts/laurel/servarr.nix
diff options
context:
space:
mode:
Diffstat (limited to 'hosts/laurel/servarr.nix')
-rw-r--r--hosts/laurel/servarr.nix107
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