I turned to Linux Hint for this one. I used a previous post to setup the NFS share to media on file1 file server.
In order to add the Plex Media Server repository, I found the following to work from the Plex.tv website:
If the firewall is enabled, allow Plex with:
sudo ufw allow 32400
The problem with using a NFS share is that user plex has no rights on the file server and no password on the Plex server. I created user plex on the file server with a password to no avail. I brute-forced it by giving all files on the file server read access to everyone:
I have used Raspberry Pi file servers for several years. Of course this means attaching USB storage for files. My Lenovo M73 tiny computer has room for one 2.5″ hard drive which is an SSD with Ubuntu 22.10 Linux and minimal room for file storage. I’ll move 4TB and 5TB USB HDDs from my Raspberry Pi 4 to the M73. I’ll use a new tutorial from LinuxConfig to take me through the steps.
After installing Ubuntu server and updating it, I gave it a permanent ip reservation. My AT&T router only allows for 16 permanent ip reservations and I’ve hit the limit. It looks like some static ip addresses are in my future.
I attached the two USB3 drives to the M73. They will be outside the ProxMox storage pool and dedicated to the file server. To do this I modified the virtual machine to include new hardware. I added a USB passthrough device for each drive. Unfortunately, the M73 supports only one USB3 device so the second HDD will operate at USB2 speeds. On second thought, the two drives will go back on the Raspberry Pi server and a single 12TB USB3 drive will be storage for my file server.
I’m comfortable with the Samba install. It allows Windows computers to map drives to my file server. There’s a couple of other posts describing the Samba install.
Next, something I’m not so comfortable with. I need to share files with a Plex server (Linux) and a Transmission server (Linux). SMB shares are not as efficient as NFS shares that are native to Linux. I’ll again refer to a previous post for the how-to.
I love most of what the internet has to offer these days. It educates me, informs me and entertains me. It makes life much more interesting. For me though, social media not so much. I know it’s a great way to share your life with family and friends but I think it’s too much at times and misinforms at times. I mostly avoid it.
I’ve used videos and websites to resolve tons of everyday life issues – stuck doors, new car brakes, clothes washer error codes, health and diet issues, household finances, shopping, food recipies to name just a few.
I’m in the midst of virtualizing several servers on a hypervisor for a homelab. I’m using ProxMox on a 2013 Lenovo M73 ThinkCentre tiny computer. I’ve viewed hundreds of videos and articles that have gotten me well along with my project.
Much of my objective is to get biggest bang for the fewest bucks. I’m ecstatic with my progress and where I expect it to go. My expenses have been $50 for the computer, $45 for an SSD upgrade, $40 for a CPU upgrade and $30 for a memory upgrade totaling $165. I’ll have media servers, home automation, VPN, ad blocking, file servers and more. I’ll run more than a dozen virtual machines with processor power, memory and storage to spare for about a dollar a month of electricity.
I contrast, I just watched a fascinating video with some great ideas for a homelab. This guy had rack-mounted servers, networking gear, storage devices and more. He had 50 terabytes of RAID storage configured for speed and redundancy, redundant hypervisors and double or triple redundant servers. His home automation was not likely to fail! Guys and their toys! In my younger days, it was a Holley carbs, Hurst shifters, Edlebrock headers and ’57 Chevys that showed your masculinity. Times have changed! Then again, maybe I should pay more attention to Frank Thomas. The more I think about it, the more I like the idea of rack mounted servers and tens of terabytes of storage. Hmmm.
In any event, I’m really happy with my project and I think it will be really useful and fun. It makes me anxious to get up and get with it each morning.
I want to run Civilization 3 on a Chromebook. This is an old but special version of Civ and will only run on Windows 7 with a physical CD in the drive. I think I have a solution but it requires jumping through a few hoops.
Here’s the Plan
Install Windows 7 Pro from thie iso as a virtual guest on Proxmox without a product key and extend the trial period to one year.
Install Civ 3 on the Windows 7 guest with the CD in a physical CD drive passed through to the VM.
Enable Remote Desktop Protocol on Windows 7 and port forward the RDP port on my router to the Windows 7 machine.
Install Remote Desktop on the Chromebook.
The Details (soup-to-nuts):
Get a Lenovo M73 tiny computer on eBay for about $50, replace the HDD with an SDD, install Proxmox and run it 24/7. It uses about 12 watts which should cost less than $15/year to operate. This will also be a good platform for Plex server, a file server, Home Assistant, Pi-Hole, Nagios and trying out versions of Linux.
For the Windows 7 installation, skip product key and activation. Slmgr will give 120 days before activation and can be used three or four times.
My home entertainent system does not include a DVD or Blu-Ray drive nor do most of my current computers. Handbrake and MakeMKV (for Blu-Ray) are a couple of tools to rip and encode the movies so they can be added to Plex. A side benefit is that discs from other regions that will not play on U.S. drives can be ripped and encoded. Category5 Technology TV provides an excellent Handbrake tutorial. They also have a follow-on video for episodic disc sets. I think this video from Maraksot78 describes the Blu-Ray rip. DVDs resolution is 720 x 480 (480p) and Blu-Ray resolution is 1920 x 1080 (1080p).
DVD
To get started, open the source. I generally use one of the HQ presets such as HQ 480p30 Surround. Here, the 30 is frames per second and should match the source as closely as possible. I like to save the file as mp4 and using defaults except for the following changes. Use the H.264 video codec. Since I have an Nvidia graphics card, I use the H.264 (Nvidia NVEnc) codec. H.265 is slightly better but not as widely compatible. I like constant quality of 20. I also like to include subtitles when available.
When encoding an episodic disc, open the source and note the resolution and FPS after the Source: heading. If it’s anamorphic, note the resolution in parentheses. Under Summary select Web Optimized to allow better network playback. Under Dimensions confirm Display Size matches the (anamorphic) disc size from before. Under Video, set the FPS to match the disc with Constant Framerate.
Now add the first Title to the queue then individually each remaining Title. Start encoding.
I’ve renewed my interest in setting up servers for various home automation tasks. I’ve taken the one-of-each approach to home automation which is fun but hard to get everybody to play together. I use the Amazon/Echo, SmartThings/ActionTiles and Google Home ecosystems. Amazon is mostly for voice control and routines and SmartThings/ActionTiles for tablet kiosks that conveniently cover the holes in the walls where the old intercom and speakers were. I was never able to make OpenHab fit in well in part because of the learning curve. I’m hoping to pull all this together with Home Assistant.
I pulled out the old ASUS AM1M-A/AMD Athlon 5370 APU system and fired it up again. I replaced the Ubuntu Workstation/KVM/QEMU setup with ProxMox which is a Debian based system also using KVM/QEMU with a nice GUI interface. I’m hoping I’ll manage the learning curve better.
This turned in to be a catchall installation for all the servers I run under ProxMox. I plan to enter a separate post for in-depth installaton procedures.
ProxMox
After a struggle to find some good video tutorials for installing ProxMox and virtual machine guests, I found a good place to start with a video by Andreas Spies. I have a few SBCs including a Raspberry Pi 4 file server but it’s really hard to get new ones. This video suggested a used Lenovo tiny computer instead. I already have an M73 running Plex. I liked the idea and found another M73 on Ebay for $50 so I got it. It is close to the price of a Raspberry Pi 4 and doesn’t use a whole lot more electricity and will run VM guests. One of the M73s will run ProxMox with several VM guests. The other will be a smaller travel version with Plex and a few other VMs. It is small enough to travel with me on RV trips.
BIOS settings to change are to enable CPU Virtualization, maximize C State Support and disable secure boot. Download the ProxMox ISO and burn it to a USB drive using BalenaEtcher. Boot from the USB drive and install. Browse to https://<ip address>:8006. Upload an ISO file selecting local storage group and ISO images.
Select the ProxMox server and Create VM using the uploaded ISO file. Use SeaBIOS and Qemu Agent. Be sure to select Windows OS when installing Windows. Go to Proxmox Helper Scripts to get rid of the “No valid subscription” nag screen. Edit: This has been moved to here. Choose Proxmox VE 7 Post Install. Here’s what it looks like today:
Home Assistant
My first VM is Home Assistant. I started out with it on the Rasbperry Pi 3. I’m going to be happier with the extra resources that are available on the ProxMox server. I was able to load this first VM with excellent help from The Tinker Dad’s video.
Download the KVM/ProxMox (.qcow2) file from the Home Assistant website and transfer it to Proxmox using WinSCP. Create the VM by right clicking the Proxmox node in the Proxmox GUI. Once the VM is created, import the image from the command line:
Cockpit helps administer Ubuntu servers with a web-based GUI. Tech Republic helped with the installation.
Nagios
Nagios Core is a network monitoring tool that I’m anxious to explore.
I used the installation procedure from Its Linux Foss to install Nagios. This procedure was straightforward but did not install the current release. I’m checking Arkit for a procedure for the upgrade.
Starting Nagios Core
Init Script: The easiest way to start the Nagios Core daemon is by using the init script like so: /etc/rc.d/init.d/nagios start.
Manually: You can start the Nagios daemon manually with the -d command line option like so: /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg.
Pi-hole
Pi-hole is network-wide ad blocking program originally designed to run on a Raspberry Pi. It also functions as a DNS server for computer name resolution. With several computers on my network, I’m weary from looking up and typing so many ip addresses. Maybe this DNS server will let me use host names instead.
With resources to burn on the ProxMox server, I installed it as a VM. I used the installation procedure on the Pi-hole website. A lot of websites load noticeable faster using Pi-hole for DNS. Some websites detect it and beg or require you to let their ads show. This tutorial should help me get started with adding DNS records.
Wireguard
This will provide remote access to all my network. Here’s a tutorial from DigitalOcean and a video.
Home Networking
The Domain Name System (DNS) has been and still is mostly a mystery to me. What the heck are A records and cnames? I know it doesn’t work well for my homelab servers. I do appreciate the convenience of remembering and referencing a computer name versus a four-octet number (IP address).
When references to computer names are not reliable, fixed IP addresses are a requirement. An easy but unmanageable solution is to put server names and IP addresses in a Hosts file on each computer and to hard code static IP addresses on each computer. Using permanent IP reservations on the DHCP (dynamic host configuration protocol) server is a big improvement, but name resolution is still spotty. If you throw in a Microsoft computer on you network, it has a separate name resolution process – WINS (Windows internet name service). This can help for computers that talk “Microsoft” that are either Windows or have SAMBA (server message block networking protocol) installed (Linux computers).
I dislike the inconvenience of managing static IP addresses. However, fixed IP address for servers are really importantI’m hoping Pihole
I need to update my DNS entry for lynnhargrove.com at NameCheap.
I’m going to give it a go with a little help from my friends. I used the the docker install from the Heimdall website – my first docker install. It didn’t make sense but it worked if to browse to https://<ip-address>:8443
Audio Bookshelf
Gotta get it. Or booksonic or bookstack. Do I need filebrowser or handbrake or openwrt?
Unify by Ubiquity
Docker
Rancher
Kubernetics
Grafana
UrBackup
RSync/Grsync
Transmission
Navidrome
OpenWRT
OK, how hard can a BitTorrent server be to install? I eventually used a Raspberry Pi PiMyLifeUp tutorial to install Transmission. Fortunately, it was the current version – 4.0.0. Oh well… I just need to setup a file server VM and point to that for downloads.
Mosquitto
I’m eternally grateful to thousands probably millions of programmers that write useful software that’s available for free on the internet. I need to buy a few more cups of coffee. My frustration with an installation that I can’t make work is a kind of blessing. Installations and configurations that don’t come easy are really just puzzle solving. I love solving puzzles!
To wit: Transmission installation was not difficult, it just took a while to find the instructions. Mosquitto installation was easy but access to the new release not available anonymously or outside the local server. It wasn’t obvious to me. Long story, short – the following additions to mosquitto.conf solved my problem:
Techno Tim with the professional homelab setup has a way to backup VMs to an NFS share on ProxMox.
Traefik
Need to review.
JellyFin
This seems to be the go-to app for music libraries rather than Plex. I tried the host website but had errors installing. Linux Shout had a simple installation that worked perfectly.
Tag audiobooks with mp3tag or audiobook cutter, also look at booksonic.
Webmin
I tried out Cockpit then decided Webmin would be more useful as a server administration tool. I tried to install it using the website. I had better luck downloading the .deb file from SourceForge and installing it with these commands from Stack Exchange.