MowMdown

Members
  • Posts

    194
  • Joined

  • Last visited

Everything posted by MowMdown

  1. Question. I have HTTP AUTH enabled for my dockers proxied, however I need to expose an endpoint for SAB to be able to fetch from Hydra. Obviously when SAB goes to do that currently, its met with a 401 not authorized. is there a way to expose the endpoint needed to fetch The NZB from hydra without exposing the entire domain? hydra.mydomain.tld/getnzb is what I need to expose for this to work. Is what I need possible with NPM? Or... is there a way to whitelist SAB from requiring authorization?
  2. I'm getting a bunch of this spammed repeatedly in my syslog right after all my dockers are initializing, not sure what's suddenly causing it: root: ACPI action volumeup is not defined root: ACPI action volumedown is not defined I do have a keyboard attached to the machine but it doesn't get touched as nobody is home near my server.
  3. @munit85 Sounds like you have something mis-configured at the least. Force an update on the container then just try it with transcoding to ram, if that works we can rule out the Nvidia script. do it in layers until you find the problem.
  4. It allows you to use NVDEC with Plex. Basically what happens is it uses the GPU to decode the media before sending it to the client so the client doesn't have to decode the stream. You will still need plexpass to be able to use Hardware Transcoding.
  5. There is a bug in your new code specifically: command="/usr/lib/plexmediaserver/plex-nvdec-patch.sh" if [ "$codec_arguments" ]; then #This line is recursive, it duplicates the codecs in the Plex Transcoder file (we don't need it) #command+="${codec_arguments}" docker exec -i "$con" /bin/sh -c "${command}${codec_arguments}" else docker exec -i "$con" /bin/sh -c "${command}" fi What ends up happening is that in the "Plex Transcoder" file, you end up with ALLOWED_CODECS=("h264" "hevc" "h264" "hevc") Removing that line of code fixes the issue. You don't need to concatenate the "command+="${codec_arguments}" because it's already being taken care of at the next line where the docker exec code is taking place.
  6. I found a new/updated plex NVDEC script off the Plex Forums, it allows you to set specific codecs that are allowed to be decoded by the GPU, the rest get CPU decoded. #!/bin/bash # This should always return the name of the docker container running plex - assuming a single plex docker on the system. con="$(docker ps --format "{{.Names}}" | grep -i plex)" echo -n "<b>Applying hardware decode patch... </b>" # Check to see if patch script exists first. exists=$(docker exec -i "$con" stat "/usr/lib/plexmediaserver/Plex Transcoder2" >/dev/null 2>&1; echo $?) if [ "$exists" -eq 1 ]; then # If it doesn't, we run the clause below # For Legibility and future updates - if needed, use a heredoc to create the wrapper: docker exec -i "$con" /bin/sh -c 'sed "s/\(^\t\t\)//g" > "plex-nvdec-patch.sh";' <<'@EOF' #!/bin/bash PLEX_PATH="/usr/lib/plexmediaserver" CODECS=() ALLOWED_CODECS=("h264" "hevc" "mpeg2video" "mpeg4" "vc1" "vp8" "vp9") USAGE="Usage: $(basename $0) [OPTIONS] -p, --path Manually define the path to the folder containing the Plex Transcoder -c, --codec Whitelistes codec to enable NVDEC for. When defined, NVDEC will only be enabled for defined codecs. Use -c once per codec -u, --uninstall Remove the NVDEC patch from Plex Available codec options are: h264 (default) H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 hevc (default) H.265 / HEVC (High Efficiency Video Coding) mpeg2video MPEG-2 video mpeg4 MPEG-4 part 2 vc1 SMPTE VC-1 vp8 (default) On2 VP8 vp9 (default) Google VP9" contains() { typeset _x; typeset -n _A="$1" for _x in "${_A[@]}" ; do [ "$_x" = "$2" ] && return 0 done return 1 } while (( "$#" )); do case "$1" in -p|--path) PLEX_PATH=$2 shift 2 ;; -c|--codec) if contains ALLOWED_CODECS "$2"; then CODECS+=("$2") else echo "ERROR: Incorrect codec $2, please refer to --help for allowed list" >&2 exit 1 fi shift 2 ;; -u|--uninstall) uninstall=1 shift 1 ;; -h|--help|*) echo "$USAGE" exit ;; esac done if [ ${#CODECS[@]} -eq 0 ]; then CODECS=("h264" "hevc" "vp8" "vp9") fi if [ "$EUID" -ne 0 ]; then echo "Please run as root or with sudo" exit 1 fi if [ ! -f "$PLEX_PATH/Plex Transcoder" ]; then if [ -f "/usr/lib64/plexmediaserver/Plex Transcoder"]; then PLEX_PATH="/usr/lib64/plexmediaserver" else echo "ERROR: Plex transcoder not found. Please ensure plex is installed and use -p to manually define the path to the Plex Transcoder" >&2 exit 1 fi fi pcheck=$(tail -n 1 "$PLEX_PATH/Plex Transcoder" | tr -d '\0') if [ "$uninstall" == "1" ]; then if [ "$pcheck" == "##patched" ]; then if pgrep -x "Plex Transcoder" >/dev/null ; then echo "ERROR: Plex Transcoder is currently running. Please stop any open transcodes and run again" >&2 exit 1 fi mv "$PLEX_PATH/Plex Transcoder2" "$PLEX_PATH/Plex Transcoder" echo "Uninstall of patch complete!" exit else echo "ERROR: NVDEC Patch not detected as installed. Cannot uninstall." exit 1 fi fi if [ "$pcheck" == "##patched" ]; then echo "Patch has already been applied! Reapplying wrapper script" else if pgrep -x "Plex Transcoder" >/dev/null ; then echo "ERROR: Plex Transcoder is currently running. Please stop any open transcodes and run again" >&2 exit 1 fi mv "$PLEX_PATH/Plex Transcoder" "$PLEX_PATH/Plex Transcoder2" fi for i in "${CODECS[@]}"; do cstring+='"'"$i"'" ' done cstring="${cstring::-1}" cat > "$PLEX_PATH/Plex Transcoder" <<< '#!/bin/bash' cat >> "$PLEX_PATH/Plex Transcoder" <<< 'PLEX_PATH="'"$PLEX_PATH"'"' cat >> "$PLEX_PATH/Plex Transcoder" <<< 'ALLOWED_CODECS=('"$cstring"')' cat >> "$PLEX_PATH/Plex Transcoder" <<< ' contains() { typeset _x; typeset -n _A="$1" for _x in "${_A[@]}" ; do [ "$_x" = "$2" ] && return 0 done return 1 } allowed_codec() { for i in "$@"; do if [ "-i" == "$i" ]; then return 1 elif contains ALLOWED_CODECS "$i"; then return 0 fi done return 1 } if allowed_codec $*; then exec "$PLEX_PATH/Plex Transcoder2" -hwaccel nvdec "$@" else exec "$PLEX_PATH/Plex Transcoder2" "$@" fi ##patched' chmod +x "$PLEX_PATH/Plex Transcoder" echo "Patch applied successfully!" @EOF # chmod the new script to be executable: docker exec -i "$con" chmod +x "./plex-nvdec-patch.sh" # now we execute the script: docker exec -i "$con" bash -c "./plex-nvdec-patch.sh" echo '<font color="green"><b>Done!</b></font>' # Green means go! else # If we ended up here, the patch didn't even try to run, presumably because the patch was already applied. echo '<font color="red"><b>Patch already applied!</b></font>' # Red means stop! fi To alter the defaults simply append "-c codec" to the execution command like so: docker exec -i "$con" bash -c "./plex-nvdec-patch.sh -c h264 -c hevc -c vp8 -c vp9" Source/Credits: https://github.com/revr3nd/plex-nvdec and @Xaero for his script here: https://gist.github.com/Xaero252/9f81593e4a5e6825c045686d685e2428
  7. I'm not sure what you keep in /tmp that is of high concern but my /tmp doesn't contain any sensitive data...
  8. @nadbmal that's because you're not mapping directly to /tmp you're mapping to /tmp/plexram (don't do this) Plex cannot generate /plexram once it's deleted. That's why in your situation when you delete that directory it fails to transcode. it's looking for a folder that doesn't exist (docker is creating this path not plex) Just use /tmp as the transcode directory Plex will autogenerate /Transcode/Sessions every time on its own when a transcode is needed. you will never run into that issue doing it the proper way I described here:
  9. I mean excluding those, that's my bad. Those I listed DO support proxies, I was talking about basically all other dockers that don't. I wanted to put anything that DOESNT have proxy support behind a proxy using the --env flag. However it doesn't seem to work. For example (bad example) my pihole docker, it dosent have proxy support form within, and if I wanted to run it behind a proxy the --env flag doesn't actually put it behind the proxy. I took your delugevpn docker, disabled the VPN/Privoxy settings and used the --env flag to try it that way and it didn't mask the IP address.
  10. Question: I've tried using the env flag such as this: --env HTTPS_PROXY="https://192.168.1.200:8888" for docker containers that do not support an HTTP proxy from within. (such as sonar/radar/hydra) This flag doesn't seem to work putting the specified containers behind the proxy. Is what I'm attempting to do not possible using the privoxy container? I was following this: https://docs.docker.com/network/proxy/
  11. I figured out my failure... If you don't wait for the "Done" button to appear and you exit the window any sooner, you will corrupt the install... Is there any way to show write process in the window after the checksum pass? That way we know it's still in operation?
  12. So I went to do an upgrade from the RC6 to RC7 and I couldn't get it to boot. Rolled back to RC6(nvidia) and it still wouldn't boot. I keep getting an error in the log right before it gets to the login prompt that says "Error: Check Nvidia Driver!" and then it reports a segfault. So neither the RC6 or RC7 will boot. Before I was giving me driver errors with the dynamix system temp plugin so I removed that and attempted it again but can't get past the nvidia driver error check. Not sure what I did wrong but even starting over with a fresh install and then installing the nvidia version would not work. My GPU is a GTX970 I won't be able to do much until I get home at 6pm EST Just thought I'd share my issue
  13. Not for me, it creates both. I tested it by deleting both while I was transcoding, then a second later both directories were auto-generated again and the session resumed. If you map only "/tmp" that is.
  14. It creates it when you run a Transcode session.
  15. Plex creates "/Transcode/Session" inside of /tmp automatically if you specifiy "/tmp/Transcode" you'll end up with "/tmp/Transcode/Transcode/Session"
  16. You guys are making this much more complicated than it needs to be. Just set the host path to: /tmp and then set the container path to: /transcode then inside Plex at the webgui, tell it to transcode to "/transcode" (no quotes)
  17. Yeah, I just read about it a couple of days ago. It has something to do with how it's streaming the data and the packets aren't arriving in sequential order thus giving the server error message.
  18. There's your issue, the shields are having issues right now with this exactly. Plex/Nvidia are aware of it and is trying to fix it. Edit: @CHBMB: Go get off these forums and enjoy your time doing what YOU want with your family, nothing is more important than them.
  19. The 1050 ti is more than capable of doing pretty much anything (encoding and decoding) why swap it out?
  20. Just go to the docker screen, click at the bottom "add container" click your plex template and change the the name of the container to Plex(iGPU) and then just edit the parameters to the iGPU settings. Now you can have two containers with each gpu hardware transcoding capability.
  21. Thank you guys for your awesome work! Installing it now! I take it there is no way to modify the GPUs fans profile?
  22. So I like to VPN into my network using OpenVPN-as but I cannot seem to find a way to get pihole adblocking to work this way. Anyone able to enable pihole blocking when VPN'd in? I gave my pihole docker it's own IP using the custom IP setting of 192.168.1.2. It works inside my wifi network, just not when connected through the VPN. I've gone into the VPNs webserver settings and manually set the DNS from 192.168.1.1 to 192.168.1.2 and once I've done that I can no longer resolve DNS... I would hate to go back to using my RPi for pihole when using it on unraid is much easier to maintain....
  23. Oh, maybe I just misunderstood. Hers what top shows when sitting idle top - 19:52:49 up 44 min, 3 users, load average: 1.34, 1.36, 1.58 Tasks: 412 total, 1 running, 263 sleeping, 0 stopped, 0 zombie %Cpu(s): 10.6 us, 4.4 sy, 0.1 ni, 84.3 id, 0.5 wa, 0.0 hi, 0.1 si, 0.0 st KiB Mem : 16421548 total, 257508 free, 10390760 used, 5773280 buff/cache KiB Swap: 0 total, 0 free, 0 used. 4865928 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 16201 root 20 0 9346284 8.058g 18408 S 99.7 51.5 50:40.38 qemu-system-x86
  24. I only use 2c/4t for my VM - I should have specified that.