aboutsummaryrefslogtreecommitdiff
path: root/modules/containers/jellyfin/default.nix
blob: d4923aea059e6b6c4171b5c654e6bcf80977fd4a (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
{ lib, ... }:
let
  inherit (lib.lists) singleton;
  directory = "/opt/jellyfin";
in
{
  systemd.tmpfiles.rules = builtins.map (x: "d ${x} 0755 share share - -") (singleton directory);

  virtualisation.oci-containers.containers.jellyfin = {
    image = "jellyfin/jellyfin:latest";
    autoStart = true;
    user = "994:994";
    ports = singleton "8096:8096/tcp";
    volumes = [
      "${directory}/config:/config"
      "${directory}/cache:/cache"
      "/tank/media:/media"
    ];
  };

  services.caddy.virtualHosts."buttered.brownbread.net".extraConfig = ''
    encode zstd gzip
    reverse_proxy http://localhost:8096
  '';
}