summaryrefslogtreecommitdiff
path: root/modules/nixosModules/server/seerr.nix
blob: 93c5f19f27c6556c31bb693aab3ea37722b35326 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
{self, ...}: {
  flake.nixosModules.seerr = {
    config,
    lib,
    pkgs,
    ...
  }: {
    imports = [
      self.nixosModules.hostOptions
    ];

    services.seerr = {
      enable = true;
      openFirewall = false;
      configDir = "${config.hostOptions.server.dataPath}/seerr";
      port = 5055;
    };

    users.users.seerr = {
      isSystemUser = true;
      group = "seerr";
    };

    users.groups.seerr = {};
    systemd.services.seerr.serviceConfig = {
      DynamicUser = lib.mkForce false;
      User = lib.mkForce "seerr";
      Group = lib.mkForce "seerr";
      ReadWritePaths = ["${config.hostOptions.server.dataPath}/seerr"];
      ExecStart = lib.mkForce "${pkgs.seerr}/bin/seerr";
    };

    services.nginx.virtualHosts."seerr.${config.hostOptions.server.domain}" = {
      enableACME = true;
      forceSSL = true;
      locations."/".proxyPass = "http://127.0.0.1:5055";
      locations."/".proxyWebSockets = true;
    };
  };
}