plex: use buildFHSUserEnvBubblewrap

Switch the plex server to use buildFHSUserEnvBubblewrap.

Still requires shared PID namespace as plex refuses to start otherwise,
it thinks it's already running.
This commit is contained in:
Pascal Bach 2022-08-18 22:31:16 +02:00
parent 10c82cdaff
commit 5d2d3ce279
2 changed files with 10 additions and 5 deletions

View File

@ -1,6 +1,6 @@
# The actual Plex package that we run is a FHS userenv of the "raw" package. # The actual Plex package that we run is a FHS userenv of the "raw" package.
{ stdenv { stdenv
, buildFHSUserEnv , buildFHSUserEnvBubblewrap
, writeScript , writeScript
, plexRaw , plexRaw
@ -9,10 +9,16 @@
, dataDir ? "/var/lib/plex" , dataDir ? "/var/lib/plex"
}: }:
buildFHSUserEnv { buildFHSUserEnvBubblewrap {
name = "plexmediaserver"; name = "plexmediaserver";
inherit (plexRaw) meta; inherit (plexRaw) meta;
# Plex does some magic to detect if it is already running.
# The separate PID namespace somehow breaks this and Plex is thinking it's already
# running and refuses to start.
unsharePid = false;
# This script is run when we start our Plex binary # This script is run when we start our Plex binary
runScript = writeScript "plex-run-script" '' runScript = writeScript "plex-run-script" ''
#!${stdenv.shell} #!${stdenv.shell}

View File

@ -9817,9 +9817,8 @@ with pkgs;
inherit (callPackage ../servers/plik { }) inherit (callPackage ../servers/plik { })
plik plikd; plik plikd;
plex = callPackage ../servers/plex { plex = callPackage ../servers/plex { };
buildFHSUserEnv = buildFHSUserEnvBubblewrap;
};
plexRaw = callPackage ../servers/plex/raw.nix { }; plexRaw = callPackage ../servers/plex/raw.nix { };
psitransfer = callPackage ../servers/psitransfer { }; psitransfer = callPackage ../servers/psitransfer { };