From bdb2f3971648fcccd7fac0861bbc9c6b33209d2d Mon Sep 17 00:00:00 2001 From: Christoph Urlacher Date: Wed, 19 Nov 2025 13:52:39 +0100 Subject: [PATCH] Services/Plex: Init at v1.42.2 --- system/servenix/default.nix | 1 + system/services/plex.nix | 64 +++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 system/services/plex.nix diff --git a/system/servenix/default.nix b/system/servenix/default.nix index e0ec726c..684ec08e 100644 --- a/system/servenix/default.nix +++ b/system/servenix/default.nix @@ -34,6 +34,7 @@ ../services/nextcloud.nix ../services/nginx-proxy-manager.nix ../services/paperless.nix + ../services/plex.nix ../services/portainer-agent.nix ../services/prowlarr.nix ../services/radarr.nix diff --git a/system/services/plex.nix b/system/services/plex.nix new file mode 100644 index 00000000..add738c2 --- /dev/null +++ b/system/services/plex.nix @@ -0,0 +1,64 @@ +{ + config, + lib, + pkgs, + ... +}: let + plexVersion = "1.42.2.10156-f737b826c"; +in { + virtualisation.oci-containers.containers = { + plex = { + image = "plexinc/pms-docker:${plexVersion}"; + autoStart = true; + + login = { + # Uses DockerHub by default + # registry = ""; + + # DockerHub Credentials + username = "christoph.urlacher@protonmail.com"; + passwordFile = "${config.sops.secrets.docker-password.path}"; + }; + + dependsOn = [ + # "pihole" + ]; + + ports = [ + "32400:32400" # Bind for VPS + + # "8324:8324/tcp" # Controlling Plex for Roku via Plex Companion + # "32469:32469/tcp" # Plex DLNA server + # "1900:1900/udp" # Plex DLNA server + # "32410:32410/udp" # GDM network discovery + # "32412:32412/udp" # GDM network discovery + # "32413:32413/udp" # GDM network discovery + # "32414:32414/udp" # GDM network discovery + ]; + + volumes = [ + "/media/Show:/data/tvshows" + "/media/Movie:/data/movies" + "/media/TV-Music:/data/music" + + "plex_config:/config" + "plex_transcode:/transcode" + ]; + + environment = { + PLEX_UID = "3000"; + PLEX_GID = "3000"; + TZ = "Europe/Berlin"; + + # PLEX_CLAIM = ""; + # ADVERTISE_IP = "https://plex.vps.chriphost.de:32400"; + }; + + extraOptions = [ + "--privileged" + "--device=nvidia.com/gpu=all" + "--net=behind-nginx" + ]; + }; + }; +}