Docker Plex

Fix poor quality video in Plex under docker

I’ve recently moved servers and instead of managing my own Plex install, I decided to go with the a docker install.  It took seconds to sort out and I was very happy with it.  That was until I enabled remote access.  Suddenly, all my videos looks started looking terrible quality.

This has been resolved by going to Dashboard -> Settings -> Network and under “Lan Networks” adding the values “,,″ (without the quotes).

You will need to work out your own values.

To work out the subnet for the plex container:

    $ docker network inspect plex_default|grep Subnet
                     "Subnet": "",

To work out the subnet for your local network (in the majority of cases),

     $ hostname -I | awk '{print $1}'

So, this needs to be :


Using an APEMAN C450 Dash Cam as a security camera with ZoneMinder using Docker

Just plug the APEMAN C450 dash camera into your Linux server via USB and select “PC Camera” using the buttons on the side.

Confirm it works with this command:
ffmpeg -f video4linux2 -s 640x480 -i /dev/video0 -ss 0:0:2 -frames 1 /tmp/out.jpg

Then download this docker-compose config file

Add the video device to the docker-compose.yaml file:
- /dev/video0:/dev/video0

Install/start your docker container:
docker-compose up -d

Then visit the freshly installed system on whatever your IP address that you have configured:

To add the dash camera as a monitor :
General Tab:
Source Type = Local
Source Tab:
Source Path = /dev/video0
1280 x 720

Note that, when I first set this up recording, I was getting a corrupt/ green frame of video at the beginning of the recording.  Whatever was causing this made it trigger an event constantly.  To fix this, I went into the settings for /dev/video0, buffer tab and changed Alarm frame count from 1 to 3


nginx case insensitive URL

There was a requirement for a website on the server to have a case-insensitive.

There is no simple option in nginx to make it case-insensitive, there are also no nested if statements available.

This isn’t easy to achieve, but the below seems to have done it me (for only 1 URI!)

location ~* ^/TNG/$ {
return 301;

location ~* ^/TNG$ {
return 301;

set $BOTH "";

# Does the case-insensitive pattern match?
if ( $request_uri ~* ^/TNG/index.php$ )
set $BOTH "${BOTH}1";

# Is it not an exact match to the correct case?
if ( $request_uri != /TNG/index.php )
set $BOTH "${BOTH}2";

# If both true, then redirect to the correct case
if ( $BOTH = 12 )
return 301;

Unable to log into Plex Web View

So, I was tinkering with the Plex Media Server settings and then suddenly I got this error in Chrome from my desktop.

“Plex didn’t send any data”


Visiting my server from worked – really weird.

So, going back over what changes I had made, I found the culprit.

Under the Plex Settings > Settings > Network menu option, I had modified the IP6 “Secure Connections” from “Preferred” to “Required”.  I changed this back to Preferred and that immediately fixed my issue and the web view was working again.


Decrypt TP-Link config.bin backup file

Copy your config.bin file to linux then run this command to create a decrypted config.txt :

openssl enc -d -des-ecb -nopad -K 478DA50BF9E3D2CF -in config.bin > config.txt


Choosing your own hosting and server type

In the past, I have paid £1000+vat a year for hosting to feed by hosting addiction.  This has whittled down in price over the years and now I’m paying just £42 inc vat!

Choosing the host type

  • Virtual Private Server (VPS)
  • Dedicated Server
  • Cloud VPS
  • Run on your home kit from your home broadband connection

Budget Hosting

Some good value providers in the UK are and   I’ve been with both of them and had a few annoyances (switching my server off | Selling me hosting that was supposed to be maintained, but wasn’t | Me asking them to reboot the host and them saying that it wasn’t where is was supposed to be.  Me asking again… them saying it’s still not there and closing the call) over the years, but in all-in-all they’re worth the money.

However, this has become an absolute no-brainer very recently…  My new provider charge just £3.50 a month for SSD based VPS (mine feels super fast!)

Premium Hosting

I have used a reseller account in the past and this had all sorts of features like a system for your users to manage their own accounts and resell too.  It all seemed a bit messy to me and eventually I’ve gone for managing it all myself with a few custom written scripts that do things perfectly.

I’ll expand this section as and when.


Huawei HG523a forgotten password

Okay, I’m a numpty – I forgot the admin password for my router.  The (security driven) delay before you can try again is hampering me from trying the many I might have used – especially as it doesn’t tell you if it was wrong or it is still timed out!

Luckily, on one of my computers, I have a cookie saved that fills my username and password in for me, so I can still log in.  Okay, so I must be able to recover my password from this… right?  I really don’t want to have to factory reset the thing.  Challenge… wait for it… accepted.

  • Enter the menu system (with your saved credentials).
  • Click Advanced and click Okay to proceed.
  • Click Maintenance, click Device, then click the Configuration File tab.
  • Click the Download Configuration File button and save it to your desktop.
  • Open the file with Notepad (or Wordpad).
  • Search for the text Userpassword
  • Copy and paste the password into the website.
  • Click the <Decode> button.
  • Your password will be displayed in plain text.


MineCraft Python Raspberry Pi

MineCraft Pi Edition – Robots game

I’ve just whipped up a 3D Robots game that runs inside MineCraft on the Raspberry Pi.

To install

Bring up a VXTerminal window and run the following command

git clone
To run

Start a MineCraft game on your Raspberry Pi and then in VXTerminal run the following commands

cd minecraft-robots
How to play

Two robots about to collide
                  Two robots about to collide

Run away from the robots.  If they touch you – you lose.  Try and get them to crash into each other by moving strategically.  Kill all 10 robots to win!

Have fun !