Chuck's Cool Reviews and Info

Projects, news and stuff going on. Pictures link is to the right.

Parsec is a free and super high image quality remote control utility. I saw it first via some cloud gaming web sites that I was looking at. I dug into it a little bit and tried out cloud gaming via Parsec and found that it sucked for my current location in Qatar. -Too much latency to be any fun.

Recently I look another look at it, but this time running on my local LAN. I run Linux Mint as my primary desktop operating system and always have to fight it to play what few games I like to play. Mainly GTA 5. Steam has made Linux gaming good, but GTA 5 always gives me a struggle due to its need for the Rockstar client.

I typically dual boot my computer to get in a bit of GTA 5, but this is cumbersome and means I need to have a decent daily desktop that can do some gaming, and this typically introduces fan noise. I don't like fan noise.

The other day, I decided to move my Windows computer capable of good GTA 5 performance out of my computer room and into another room. I then installed and ran Parsec on it. Parsec has a Linux client as well, so I put that on my Mint PC. I can now remote into my Windows gaming computer via Parsec and run GTA 5 from my Linux computer.

The gaming experience is the same as running it locally. Parsec is impressive.

Sound comes through to the Linux client and I am able to play the game via a USB connected Xbox controller just like if the game was running on my local computer. It is super nice. I didn't have to do any tweaking of fighting to make it all work at all, which was nice as well.

Move Plex Server:

Install the Plex Media Server on the new Plex Server. If the setup wizard in the browser launches, just exit out. Sign Out and Stop the Plex Media Server on the New Plex Server.

sudo service plexmediaserver stop

Now we will make changes to the old Plex Server and stop services-

Inside Plex management interface: Disable the Empty trash automatically after every scan preference for the Server under Library. Sign out of your account under Settings > Server > General in Plex Web App Quit/exit the Plex Media Server so that it is no longer running via command:

sudo service plexmediaserver stop

Copy Server Data From the Source System

Plex install location on Ubuntu:

/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/

Go to install Directory:

cd '/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/'

Backup only the files we need and create the backup file: plexbackup.tgz

sudo tar zcvf plexbackup.tgz Cache Diagnostics Media Metadata "Plug-in Support"

Copy the file created above to the new Plex Server home directory.

Working in your home folder, make a new directory and uncompress the backup

mkdir plexbackup
cd ~/plexbackup
tar zxvf ../plexbackup.tgz

With the backup file transferred to target system and uncompressed, remove the conflicting files on the target system and move the backup into place:

cd "/var/lib/plexmediaserver/Library/Application Support/Plex Media Server"
sudo systemctl stop plexmediaserver  (should already be stopped from previous step, but just incase)
sudo rm -rf Cache Diagnostics Media Metadata "Plug-in Support"
sudo mv ~/plexbackup/* .
sudo chown -R plex:plex *
sudo systemctl start plexmediaserver

Go to web interface and claim server

http://PlexServerIP:32400/web

For servers with newer intel onboard GPUs: create and then edit: /etc/modprobe.d/i915.conf Add and save file:

options i915 enable_guc=2

then

sudo update-initramfs -u 

Serving Plex while double NAT'd or behind a Carrier Grade NAT (CGNat)

CGNat is getting more and more popular with Cellular based internet packages and more modern ISP providers. The problem with it is that you cannot simply expose network ports any more once you are behind a system like this.

I happen to be behind a CGNat currently and have only expensive options (via purchasing a different ISP) to get out from under it. Plex will stream from behind it, but it limits the streaming connection to 2 megabits/sec. I have been wanting to get around this, but haven't found a true solution until now.

My Solution:

Setup a dedicated hosting server on the internet and host Plex from it while setting it up to VPN tunnel back to your home NAS. Obviously this is for external access, you would still want to run a Plex server inside your home to serve your internal home users.

Step 1-

Research dedicated hosting providers.
I don't think a VPS solution will work for this due to transcoding, but I could be proven wrong on that. You need something with either lots of CPU for software transcoding or QuickSync or other video hardware for hardware transcoding. It helps to know your needs based on your amount of active users as well as the media quality of your library.
Few users and low res media, then you can get by with a slower (cheaper) dedicated server.

I like to find hosting providers by going to webhosting talk forums and looking at the dedicated server offerings there.
You can go down a serious rabbit hole with this site. Lots of offerings and other related web hosting discussions. Like any system, I recommend SSD based storage for this setup.

https://www.webhostingtalk.com/forumdisplay.php?f=36

Intel Ark link that lists all Xeon servers that have Intel QuickSync video capabilities: (these are tough to find in the wild, so be patient)

https://ark.intel.com/content/www/us/en/ark/search/featurefilter.html?productType=873&0_QuickSyncVideo=True&1_Filter-Family=595

You can also find some hosts that offer standard Intel i3, i5, i7 and i9 CPU based servers that will allow you to take advantage of Quick Sync for hardware transcoding. The newer the generation CPU, the better the hardware transcoding.

Most hosting providers give you a trial period, or will do month to month payment at the very least.
I recommend NOT entering into a hosting service agreement that is longer than month to month. If you set this Plex system up and are not happy, then you are on the hook for a long term commitment.

Step 2-

Setup ZeroTier services. (free)

Create an account on their web site and create your first and only network needed for this process. Be sure the network you create is a private one by selecting this radio box when creating your network.

https://www.zerotier.com

The network it creates for you will have IPs dynamically generated. You can use the ones it gives you, as these are for the tunnel and not used anywhere else.

The ZeroTier client is easy to install with one command. (At least for Linux)

curl -s https://install.zerotier.com | sudo bash

I also installed the ZeroTier client on my NAS since there was a client available for it on my NAS app store.

Now I have the ZeroTier client installed on my Plex server and home NAS.

From the command line simply type:

zerotier-cli join ################ 

with ############### being the 16-digit network ID of the network you wish to join. On UNIX based OSes this command requires sudo. On Windows, this requires an administrator command prompt.

Use the ZeroTier.com web account interface to allow each client, give them a name and view their status and internal IP addresses.

Verify functionality: Ping each ZeroTier interface IP to verify communication between the two systems.

Step 3-

Access your NAS CIFS/SMB file share from your internet Plex server

I setup my Plex server with Ubuntu Linux, so skip this if you are doing something different or apply this idea to whatever you are using.

I found that the fstab mount of my media share was not reliable due to the time it took for ZeroTier to initialize the VPN network during system boot.

To resolve this, I did the following:

Edit /etc/fstab:

//ZeroTierIP_of_File_Share/media  /media/share  cifs  x-systemd.automount,guest,uid=1000,iocharset=utf8  0  0

The x-systemd.automount tells it to not mount the file share until it is asked for by the system. Next, we ask for it by the system after a 60 second delay:

edit: /etc/rc.local Add:

sleep 60
mount -a

This has worked like a champ for me.

Step 4-

Install Plex via repository:

curl https://downloads.plex.tv/plex-keys/PlexSign.key | sudo apt-key add
echo deb https://downloads.plex.tv/repo/deb public main | sudo tee /etc/apt/sources.list.d/plexmediaserver.list

sudo apt update
sudo apt install plexmediaserver

Step 5-

Configure Plex Server:

You will need an additional system (like your desktop) on the ZeroTier network to do the initial configuration of Plex via the normal Plex setup URL:

http://plex_Internel_ZeroTierIP:32400/web

If you go to your Plex's public IP:

http://plex_Public_IP:32400/web
to claim the server, it will not let you do it.

Use the ZeroTier IP and do the initial claim of the server. After that you will be able to manage Plex server and add Libraries, etc via its public IP or via Plex.tv Url.

The initial media scanning will take forever with this ZeroTier setup.
Either be patient or backup your existing Plex server and restore it to your new one that we just created.

Here are my steps to move a Plex server in Linux

I think the speed of the media scanning is a result of the VPN not really allowing much in the way of multithreaded network connections between the server and the NAS, but that is just my theory.

For testing, I recommend pointing the server at a smaller library and just let it eat and then test out streaming to experience the viewing experience.

I have seen and heard lots of discussions about the best way to achieve financial independence via some means this way to van life or this way to becoming a couch surfer. All valid and with merit, but I have not seen or heard much discussion about the overseas work option for fast tracking financial freedom. I will present my personal journey on that here and now, as I think it is a serious contender as well as a great opportunity to see the world.

Here is the TLDR:
If you are in the life position where you can stomach some time away from America, there is serious money to be made in the Middle East working for American companies and NOT and I repeat NOT being in physical danger. There are positions of all shapes and sizes and these come with housing and car paid for typically along with federal tax savings and high salaries. How to find them: google around what country you are willing to work in such as Kuwait, Dubai, or Qatar specifically looking for DoD contractor jobs in these countries for positions with your skill sets. This can be anything from Accounting, to IT to Gym management.

Here is a Villa tour of my 3 bedroom, 3 bathroom apartment rented for the exact allotment that my company gave me per month. This gives you an idea of the living conditions you can expect there within reason. This was a pretty nice place. There are better and there are worse.

My journey and experience: I became a DoD contractor in 2011 when I took a position working on an Air Force base in Florida doing Windows Active Directory support for the base network. That was my introduction to the contracting world. You don't need to do this step, but this is what I did. I always had in the back of my mind that I would like to do some work overseas if I came across something and the timing and location were right, but until then, I would do this job and be satisfied with it.

Government contract work in the US is like any other job, short of dealing with coming on and off base and occasionally hearing machine gun fire in the background. I had military experience so I knew what I was getting into, but this is not a requirement. Lots of contractors don't have military experience.

Regardless, in around 2016 my life was in a place where I wanted to start looking for overseas work. I brushed off my resume, googled around, asked around and eventually got in contact with a company recruiter for Vectrus. They happened to have several contract listings and I applied for some that I found via google and their web site directly. I found a position I was interested in - in Kuwait, went through the interview process via phone and after some time, an offer was presented and accepted by me. Because I was contracting on base with coworkers with overseas experience, I knew some info before agreeing and did some research of my own. I knew somewhat what I was getting into that Kuwait was a safe country with lots of overseas workers there supporting the local population and that I could get by speaking English there and that the base I was going to would be fine. The company would provide me about $1k to live on the economy on my own, or I could live in their free company housing. They would provide me a car as well.

The salary I was to be making in Kuwait was double what I was making for the similar position in the US (At the time, I had moved from AD support to Virtualization support, but that is not really relevant) This does not include housing provided nor housing allowance, as this was additional compensation.

To fully understand what costs you can slash, here is how my costs shook out for me.

Pay: 200k

Fixed Expenses:

Food - varies in cost

Cell phone - 15 bucks a month unlimited calls and data

Internet - 35 bucks a month (Internet is provided and included free with company housing, but I lived out on my own in a 3 bed 3 bath villa with company housing allowance.)

Excellent, Full, $0 deductible 100% paid, no copay healthcare was also like $30 bucks a month taken out of my paycheck. This is an 'overseas plan' with 0 out of pocket costs for any medical issue in any country other than America. If I was to need medical care while on vacation in America, there would be a deductible and copays in America only. Any other country, and I was fully covered 100%. I had no major health issue while in Kuwait, but did see a dermatologist and dentist while there a few times and the experiences were top notch and 100% free.

Federal income taxes are also a benefit while working overseas. The first $105ish thousand (it varies and changes every year) of your pay is not taxed at all. Make less than 100k, and you will pay zero federal taxes. State taxes vary by state, but they typically not tax you if you are not living there. I live in FL, so no issue.

If you make more than the untaxed rate though, you will be taxed a the full rate for your tax bracket for the remainder over 105k. So this means that the first 105k is not taxed, but if you earn 200k and are in that tax bracket, you will be taxed on anything over 105k at the tax bracket of an earner earning 200k.

Compare that to what you pay in America for housing, vehicle, taxes, healthcare, insurance, repairs, etc costs and you can see that this is simple and cheap living that almost can't be beat under any circumstances short of living with mom and dad and driving their car.

Kuwait charges you no income nor sales taxes, nobody in the country pays electric bills nor water bills, the fuel for the company car and insurance for the car is covered by the company. The base has a base exchange store for shopping for dry goods and electronics with the US dollar, but you can also get anything you need on the Kuwait economy, which can be expensive as everything is imported there and the exchange rate is not favorable for the US dollar. The Kuwait Dinar is very a strong currency. It fluctuates, but is generally 3 US dollars to 1 Kuwaiti Dinar. So you want to cook your own meals as much as possible, as eating out is pretty pricey. There is also a law against drinking any alcohol of any kind there, so you will save money on booze.

Almost every penny of my paycheck went to savings while I was there. I saved a ton of money and learned about index and other investing and all of the stuff I didn't know much about because I mostly didn't save much before going there short of 401k and IRA investing.

The shifts there for my work were long 12 hour shifts and a mix of day shift and night shift, so the days melded together and the work was only somewhat rewarding. It is not something that I would recommend spending many years doing, as it is hard on your mind and body, but every job is different and you might find a groove and be completely happy.

The best thing about being over there (short of the good pay and no bills) is the location as far as travel. Being on that side of the pond opens up reasonably quick trips to the side of the world that is not conveniently reached from America. The company I worked for had a generous 6 week vacation offering plus lots of holidays off. They were very free about approving vacation and we pretty much could come and go as much as we wanted. (pre covid) We were always going or talking about going or giving trip reports to each other while we were there. It was awesome. I saw Qatar, Dubai, Thailand, Greece and the Philippines. All easy trips from the Kuwait International Airport, as well as similar trips to anywhere from the massive airports in Qatar or Dubai as well.

Living in these places is HOT. The weather is not awesome if you need rain in your life, but you get used to it and there is A/C everywhere of course. It is also nice to get a more worldly view of life and get more of an appreciation (or not) of how things are in America. Do your research as to the safety of these countries, and you will find that each of these entire countries are likely safer than even just your town in America. That is what I found with Kuwait, and what made my decision to go there much easier.

If you made it this far and would like to see my personal recommendation if I was to go overseas now knowing what I know from having lived it:

I would look at Kuwait, but just to see what they are paying there. Kuwait pays a bit better than the others from my experience, mostly because it sucks to live there the most.

I would compare pay to Kuwait, but take a position in Qatar or Dubai. I prefer Qatar, as it is really nice and less crowded than Dubai, but either are nice. Lots of touristy crap to do in Dubai, but all expensive and you can hit it on a visit if you need to, you are going to be doing that stuff daily.

You can get a near direct flight from either country to darn near anywhere in the world from their excellent airports, they have excellent infrastructure and clean and modern facilities vs. Kuwait, which is not as touristy and has not invested in infrastructure as much and the roads suck.

Best and most important maybe to you is that you can have an alcohol drink in both Qatar and Dubai, as they are legal in hotel bars. They are not cheap, but you can at least hit a happy hour up with your buddies. Happy hour in Kuwait is not a thing, or if it is, it amounts to dinner and maybe a sheesha or hooka if you happen to smoke. I never did that crap.

So I suggest one of those two countries and also suggest purchasing this cheap book to help you direct your income once you have paid off all of your debit and don't know what to do with your incoming money. It is a really easy read and it truly is simple.

Good luck to you and I hope this helps you reach your own financial freedom goal.

In a previous post, I provided instructions for getting Plex Hardware Transcoding working on your 11th gen Jasper Lake Celeron CPU Server running Ubuntu.

The Aerofara system I am using here is outfitted with 8 gigs RAM and is running in dual channel mode.

For this one, let's talk about the hardware transcoding capabilities of this processor vs. 4k content. Frankly, it blew me away when I first investigated it. See images below to see it powering through some top shelf 4k bitrates.

I want to show repeatable scenarios for you to test with your systems, so I am using the Jellyfish bitrate test files as test dummies for this effort. You can download them all for you own testing here: https://jell.yfish.us/

I created a Video Test Files library in Plex and added all of these files to it. I then played every single file. They all played, and the 4k ones hardware transcoded down to 1080p, as that is my monitor's resolution. I was amazed. This is a $220 crap computer. My previous crappy Plex server running on a Celeron N4100 struggled with anything 4k.

Then I wanted to know how far I could push it. I put the largest video in this collection (jellyfish-400-mbps-4k-uhd-hevc-10bit.mkv) into a repeating play loop and got two streams going before it fell over with excessive stuttering and buffering.
This was playing over a wired connection and my destination computer had plenty of power remaining. I am assuming that the integrated GPU was at its max. The CPU was doing fine with plenty of available capacity as well as plenty of available system RAM.

This is a rough test, as these are 30 second clips set on a loop, so it gets going and then has to stop and start again every 30 seconds. It is maybe possible that with a longer video that this CPU could do more hardware transcoded streams as it had more time to compute and buffer more streams rather than starting over every 30 seconds.

enter image description here

enter image description here

I purchased a new China Aerofara mini computer to use for Plex serving to replace my aging Kodlix that had been working fine as a Plex server, but I wanted to see what a new CPU and the new Intel graphics could do with my media library. (I have nothing in 4k except video test files.)

I messed around with it for a while in Windows 10 and since it was Windows 11 compatible, I went through the upgrade to see what that looked like. I think went back to the task at hand and did a wipe and install of Ubuntu Server to prepare it for its Plex serving duties.

Tried Ubuntu Server 20.04 LTS and it did not recognize the Intel integrated graphics at all. I noticed that during the Plex server install, it didn't see the Intel integrated GPU.

I figured it was the old kernel, so instead of fighting with upgrading Kernel and getting an unknown status as a result, installed the latest Ubuntu Server. (21.10) That got the GPU recognized, but still no Hardware Transcoding.

After messing around, here is the fix I found:

Create and then edit the file:

/etc/modprobe.d/i915.conf

Add the line below and save the file:

options i915 enable_guc=2

then run this command:

sudo update-initramfs -u

That is it, you should now have Plex doing hardware transcoding with your Jasper Lake Intel IGPU.

If you are having problems with Ubuntu Server 21.04 and it not doing hardware transcoding, there is a kernel bug. See this reddit post for help: https://www.reddit.com/r/PleX/comments/tx0az4/comment/ihcfbq4/

I've been using Synology Network Attached storage devices for years as my iSCSi and NFS storage location for VMware ESXi hosts on my home lab. (The Synology is also my shared media storage location as well.)

I choose to use 7 of the 8 bays in my Synology device as a RAID 5 volume for media and file sharing storage and the 8th drive bay houses an SSD drive that I use for my iSCSi based ESXi VM datastore storage shared between my ESXi hosts.

The problem I have always had is how do I efficiently backup my VMs in the event that the datastore SSD drive that they are on dies? I have tried scripts, Veeam One year free trials, etc, but nothing was simple and set it and forget it.

Then my buddy turned me on to to the existing and free application that is on the Synology Package Center just waiting to be discovered.

The app is called Active Backup for Business. enter image description here

Once installed, you can schedule backups and do restores of Workstations, Servers, Virtual Machines, etc all from the Active Backup for Business interface.

The best thing about it is that it can work similarly to Veeam, such that doing a restore can be instant if you select that option during the restore process. It mounts your VM .vmdk that was backed up and attaches an NFS datastore to your ESXi host and boots the VM up instantly. This is really sweet and gets you back to basic functionality quickly.

This scenario happened to me over the weekend: My single drive SSD housing the VMs datastore died and my Synology started beeping at me to tell me there was a failure. I used Active Backup for Business to restore my VMs and had them back up and running (on the NFS datastore it placed on my existing media share to be used temporarilly.) in a few minutes. Once they were running, I went ahead and addressed the failed SSD by pulling it out and popping in a replacement drive I had on hand. After creating a new iSCSi datastore on the new drive, I did a storage vMotion from the NFS restore location to the SSD datastore to get my normal VM drive performance back and was all set from there.

Active Backup for Business is an effective, limited down time, no cost and very effective backup and restore solution, especially for VMs.

Additionally, I use vCenter for my home lab. I got a legit license for it quite cheap on Ebay. I suggest you look there if you need a license for your homelab products.

I recently purchased a Razor dirt bike to mess around with. They are under 500 bucks on Amazon and I figured I could make it fun with a bit more investment and using what I had on hand via the easiest means possible. Part 3 went off the rails, but that's ok. It was worth it.

Here are the videos I posted on its progress.

It is a beast now.

Part 1 -Overview and battery swap from stock lead acid batteries to a 40volt Lithium Hart tool battery.

Part 2 -Streamlining and discussing next steps

Part 3 -After installing the upgraded motor and controller and before and after riding videos

Part 4 -Additional details about how I am connecting the Hart batteries together and discussion about my custom made battery and how I messed up building it.

Part 5 -I have constructed a new self built battery with higher amperage cells and better overall construction. This is a battery discussion and show and tell of what I have created.

Install Docker and Portainer

- Posted in Blog Entries by

This is a quick and dirty install onto an Ubuntu Server 20.04 install.

Install Docker:

sudo apt install apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable" sudo apt install docker-ce sudo systemctl status docker sudo usermod -aG docker ${USER} su - ${USER} groups

Install Portainer:

cd ~/

docker volume create portainer_data

docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce

http://server_name:9000

Add Application Templates from Reddit Github:

Go to Settings | App Template and enter:

https://raw.githubusercontent.com/SelfhostedPro/selfhosted_templates/master/Template/portainer-v2.json

Portainer Default App Templates:

https://raw.githubusercontent.com/portainer/templates/master/templates-2.0.json

Nvidia Geforce Now has been around for a little while, but never had a client for Linux. Geforce Now is awesome because it allows you to play games on non-gaming capable computers, so that jalopy that you have had for years that does everything else fine, can acceptably play the latest games now too.

Nvidia just recently announced that Geforce Now can be run on Chrome computer devices (Chromebook typically) which are outfitted with very basic hardware.

Chrome devices are just modified Linux systems. Soon after the announcement of Geforce Now on Chrome devices, we have details on how to run it within Linux and I have tried it on my Linux Mint machine and it works perfect and is pretty awesome.

Check out the details here:

https://www.androidpolice.com/2020/08/20/how-to-play-geforce-now-in-your-chrome-browser-without-installing-anything-on-your-pc-or-linux-machine/

Even if you don't have a Linux computer, you could run this on your Mac or Windows computer and avoid installing the Geforce client.

One interesting thing here is that (even if paying for the Geforce Now service) you could play the latest and greatest games and save a ton of money over constantly chasing the hardware requirements of the latest games.

Geforce Now doesn't work with all games, so check their list to know what you can and can't play.