aboutsummaryrefslogtreecommitdiff
path: root/content/blog/2022-03-08-plex-migration.org
diff options
context:
space:
mode:
authorChristian Cleberg <[email protected]>2025-11-11 22:49:13 -0600
committerChristian Cleberg <[email protected]>2025-11-11 22:49:13 -0600
commit51a7a02f0c96d49b68fbcc155414c218207fa270 (patch)
tree845af8aad0e8769352efc02fcd1044eed9cc1ec1 /content/blog/2022-03-08-plex-migration.org
parent7d3e80ebf1dc770eac0e21890b74f18ba2d15a6b (diff)
downloadcleberg.net-51a7a02f0c96d49b68fbcc155414c218207fa270.tar.gz
cleberg.net-51a7a02f0c96d49b68fbcc155414c218207fa270.tar.bz2
cleberg.net-51a7a02f0c96d49b68fbcc155414c218207fa270.zip
fix grammar in 2022 posts
Diffstat (limited to 'content/blog/2022-03-08-plex-migration.org')
-rw-r--r--content/blog/2022-03-08-plex-migration.org238
1 files changed, 101 insertions, 137 deletions
diff --git a/content/blog/2022-03-08-plex-migration.org b/content/blog/2022-03-08-plex-migration.org
index 23ae0a3..f6da160 100644
--- a/content/blog/2022-03-08-plex-migration.org
+++ b/content/blog/2022-03-08-plex-migration.org
@@ -4,18 +4,15 @@
#+slug: plex-migration
* Migration Phases
-:PROPERTIES:
-:CUSTOM_ID: migration-phases
-:END:
-I recently decided to migrate my server from an old OptiPlex desktop
-machine to a custom-built tower with better hardware in every category.
-In order to do this, I would need to properly migrate a full Plex
-installation.
-
-The second part of this migration is that the new server uses an Nvidia
-GPU and does not have any integrated graphics, which requires extra work
-for installation, but provides much better hardware transcoding options
-for Plex.
+
+I recently decided to migrate my server from an old OptiPlex desktop machine to
+a custom-built tower with better hardware in every category. In order to do
+this, I would need to properly migrate a full Plex installation.
+
+The second part of this migration is that the new server uses an Nvidia GPU
+(graphics processing unit) and does not have any integrated graphics, which
+requires extra work for installation, but provides much better hardware
+transcoding options for Plex.
Therefore, I have broken this migration down into three phases:
@@ -24,50 +21,41 @@ Therefore, I have broken this migration down into three phases:
3. Configure GPU Transcoding
* Phase 1: Configure the New Server
-:PROPERTIES:
-:CUSTOM_ID: phase-1-configure-the-new-server
-:END:
-** Choosing an OS
-:PROPERTIES:
-:CUSTOM_ID: choosing-an-os
-:END:
+
+** Choosing an Operating System (OS)
+
In order to migrate Plex to my new server, I first needed to choose an
-appropriate operating system (OS) and install it on the machine. Given
-that I have encountered numerous issues installing other Linux
-distributions properly with Nvidia graphics, I chose
-[[https://ubuntu.com/download/server][Ubuntu Server]].
+appropriate OS and install it on the machine. Given that I have encountered
+numerous issues installing other Linux distributions properly with Nvidia
+graphics, I chose [[https://ubuntu.com/download/server][Ubuntu Server]].
-The first step is to create a bootable USB with Ubuntu Server. This is
-easy with [[https://www.balena.io/etcher/][Etcher]], an app that runs on
-many different platforms. Just download the Ubuntu Server =.iso= image,
-launch Etcher, and install the =.iso= on the USB.
+The first step is to create a bootable USB (universal serial bus) with Ubuntu
+Server. This is easy with [[https://www.balena.io/etcher/][Etcher]], an app that runs on many different platforms.
+Just download the Ubuntu Server =.iso= image, launch Etcher, and install the
+=.iso= on the USB.
-Once the USB is created, insert it into my server, reboot, and click
-=Esc= (or any of the =F1-12= keys) until the BIOS menu appears. Finally,
-launch the USB boot drive.
+Once the USB is created, insert it into my server, reboot, and click =Esc= (or
+any of the =F1-12= keys) until the BIOS (Basic Input/Output System) menu
+appears. Finally, launch the USB boot drive.
** Booting with Nvidia
-:PROPERTIES:
-:CUSTOM_ID: booting-with-nvidia
-:END:
+
In order to install Ubuntu Server with an Nvidia Graphics card (and no
-integrated graphics on this device for some reason), you'll have to
-configure the boot menu to allow different graphics drivers to be
-loaded.
+integrated graphics on this device for some reason), you'll have to configure
+the boot menu to allow different graphics drivers to be loaded.
-When booting from the USB, the machine will launch the initial
-installation menu. From this menu, type =e= to view the default command
-options that come with the device - it's a good idea to take a photo of
-this screen, so you can enter these commands on the next screen (along
-with adding support for Nvidia).
+When booting from the USB, the machine will launch the initial installation
+menu. From this menu, type =e= to view the default command options that come
+with the device - it's a good idea to take a photo of this screen, so you can
+enter these commands on the next screen (along with adding support for Nvidia).
-Finally, type =Ctrl + C= to enter the command line. From this command
-line, enter the commands found on the =e= screen. /Remember to add
-=nomodeset= to the =linux ...= line so that your Nvidia device will
-display the installation screens properly!/
+Finally, type =Ctrl + C= to enter the command line. From this command line,
+enter the commands found on the =e= screen. Remember to add =nomodeset= to the
+=linux ...= line so that your Nvidia device will display the installation
+screens properly!
-Here's an example of the commands I pulled from the =e= screen and
-entered on the command line.
+Here's an example of the commands I pulled from the =e= screen and entered on
+the command line.
#+begin_src sh
setparams 'Install Ubuntu Server'
@@ -77,12 +65,11 @@ initrd /casper/initrd
boot
#+end_src
-Once the machine is rebooted, enter the =e= screen again and add
-=nomodeset= to the =linux ...= line again and press =Ctrl + X= to save
-the boot options.
+Once the machine is rebooted, enter the =e= screen again and add =nomodeset= to
+the =linux ...= line again and press =Ctrl + X= to save the boot options.
-The machine is now fully installed and can properly display on an
-external display using the Nvidia GPU.
+The machine is now fully installed and can properly display on an external
+display using the Nvidia GPU.
Always remember to update and upgrade on a new installation:
@@ -91,40 +78,29 @@ sudo apt update; sudo apt upgrade -y; sudo apt autoremove -y
#+end_src
* Phase 2: Migrate Plex Data & Devices
-:PROPERTIES:
-:CUSTOM_ID: phase-2-migrate-plex-data-devices
-:END:
-This phase uses the great Plex article on migrations
-([[https://support.plex.tv/articles/201370363-move-an-install-to-another-system/][Move
-an Installation to Another System]]) and adds a bit more information to
-help with commands and context.
+
+This phase uses the great Plex article on migrations ([[https://support.plex.tv/articles/201370363-move-an-install-to-another-system/][Move an Installation to
+Another System]]) and adds a bit more information to help with commands and
+context.
** Terminology
-:PROPERTIES:
-:CUSTOM_ID: terminology
-:END:
-*Source:* The original server that is being replaced.\\
-*Destination:* The new server.\\
-*Client:* Any application that can be used to modify settings for both
-source/destination.
+
+- *Source:* The original server that is being replaced.
+- *Destination:* The new server.
+- *Client:* Any application that can be used to modify settings for both
+ source/destination.
** Step 01: [Client] Update Settings
-:PROPERTIES:
-:CUSTOM_ID: step-01-client-update-settings
-:END:
-Open up a Plex app and /disable/ the =Account= > =Library= >
-=Empty trash automatically after every scan= preference for the source
-server.
+
+Open up a Plex app and /disable/ the =Account= > =Library= > =Empty trash
+automatically after every scan= preference for the source server.
** Step 02: [Destination] Install Plex
-:PROPERTIES:
-:CUSTOM_ID: step-02-destination-install-plex
-:END:
-Open up the [[https://www.plex.tv/media-server-downloads/][Plex Media
-Server download page]] and copy the link for the appropriate platform.
-Execute the following commands on the destination server to install
-Plex:
+Open up the [[https://www.plex.tv/media-server-downloads/][Plex Media Server download page]] and copy the link for the
+appropriate platform.
+
+Execute the following commands on the destination server to install Plex:
#+begin_src sh
wget <url>
@@ -133,50 +109,44 @@ sudo systemctl stop plexmediaserver.service
#+end_src
** Step 03: [Source] Stop Plex & Migrate Data
-:PROPERTIES:
-:CUSTOM_ID: step-03-source-stop-plex-migrate-data
-:END:
-First, stop the Plex service so that no data is created or modified
-during the migration.
+
+First, stop the Plex service so that no data is created or modified during the
+migration.
#+begin_src sh
sudo systemctl stop plexmediaserver.service
#+end_src
-Next, copy the data to the new server. To find where the Plex data
-directory is located, Plex has another excellent article available:
-[[https://support.plex.tv/articles/202915258-where-is-the-plex-media-server-data-directory-located/][Where
-is the Plex Media Server data directory located?]].
+Next, copy the data to the new server. To find where the Plex data directory is
+located, Plex has another excellent article available: [[https://support.plex.tv/articles/202915258-where-is-the-plex-media-server-data-directory-located/][Where is the Plex Media
+Server data directory located?]].
-There are many ways to copy the data to the new server and will largely
-depend on the size of the folder being copied. Personally, my data
-folder was ~23GB and I opted to simply use the =scp= command to copy the
-files over SSH.
+There are many ways to copy the data to the new server and will largely depend
+on the size of the folder being copied. Personally, my data folder was ~23GB and
+I opted to simply use the =scp= command to copy the files over SSH (Secure Shell
+Protocol).
-This process was throttled by the old server's slow HDD and ports and
-took approximately 90 minutes to complete. In comparison, moving the
-data from the new server's =home/user/= directory to the
-=/var/.../Plex Media Server= directory took 2-3 minutes.
+This process was throttled by the old server's slow hard disk and ports and took
+approximately 90 minutes to complete. In comparison, moving the data from the
+new server's =home/user/= directory to the =/var/.../Plex Media Server=
+directory took 2-3 minutes.
#+begin_src sh
scp -r "/var/lib/plexmediaserver/Library/Application Support/Plex Media Server" [email protected]:"'/path/to/destination/'"
#+end_src
** Step 04: [Destination] Update File Permissions
-:PROPERTIES:
-:CUSTOM_ID: step-04-destination-update-file-permissions
-:END:
-In case you move the data directory to a common area on the new server,
-it will have to be moved to the proper location before Plex can function
-properly:
+
+In case you move the data directory to a common area on the new server, it will
+have to be moved to the proper location before Plex can function properly:
#+begin_src sh
mv "Plex Media Server" /var/lib/plexmediaserver/Library/Application Support/
#+end_src
-To ensure permissions were retained properly, the server will need to
-show that all files and folders in the data directory are owned by
-=plex:plex= (or whichever user is running the Plex application).
+To ensure permissions were retained properly, the server will need to show that
+all files and folders in the data directory are owned by =plex:plex= (or
+whichever user is running the Plex application).
#+begin_src sh
sudo chown -R plex:plex "/var/lib/plexmediaserver/Library/Application Support/Plex Media Server"
@@ -190,43 +160,37 @@ sudo systemctl status plexmediaserver.service
#+end_src
** Step 05: [Client] Update Libraries & Metadata
-:PROPERTIES:
-:CUSTOM_ID: step-05-client-update-libraries-metadata
-:END:
-The first step - now that the new server is up and running - is to sign
-out of the client and sign back in. Once this is done, update any
-library locations, if necessary. This was unnecessary in my case since I
-simply moved my storage drives from the source server to the destination
-server.
+
+The first step - now that the new server is up and running - is to sign out of
+the client and sign back in. Once this is done, update any library locations, if
+necessary. This was unnecessary in my case since I simply moved my storage
+drives from the source server to the destination server.
Next, perform the following actions in the client:
-1. On the left sidebar, click =More= > Three-Dot Menu >
- =Scan Library Files=
-2. /Enable/ the =Account= > =Library= >
- =Empty trash automatically after every scan= preference for the
- source server.
-3. On the left sidebar, click =More= > Three-Dot Menu > =Manage Server=
- > =Empty Trash=
-4. On the left sidebar, click =More= > Three-Dot Menu > =Manage Server=
- > =Clean Bundles=
-5. On the left sidebar, click =More= > Three-Dot Menu > =Manage Server=
- > =Optimize Database=
+1. On the left sidebar, click =More= > Three-Dot Menu > =Scan Library Files=
+2. /Enable/ the =Account= > =Library= > =Empty trash automatically after every
+ scan= preference for the source server.
+3. On the left sidebar, click =More= > Three-Dot Menu > =Manage Server= > =Empty
+ Trash=
+4. On the left sidebar, click =More= > Three-Dot Menu > =Manage Server= > =Clean
+ Bundles=
+5. On the left sidebar, click =More= > Three-Dot Menu > =Manage Server= >
+ =Optimize Database=
-Finally, double-check the Remote Access settings to make sure no changes
-have caused issues with accessing the server from outside the network.
+Finally, double-check the Remote Access settings to make sure no changes have
+caused issues with accessing the server from outside the network.
-In my case, I use a single port forwarding rule in my router and needed
-to update the Local LAN IP Address to the new server IP address.
+In my case, I use a single port forwarding rule in my router and needed to
+update the Local LAN (local area network) IP (internet protocol) Address to the
+new server IP address.
* Phase 3: Configure GPU Transcoding
-:PROPERTIES:
-:CUSTOM_ID: phase-3-configure-gpu-transcoding
-:END:
-The final piece to the migration is enabling hardware transcoding so
-that Plex can fully utilize the new Nvidia GPU available in the server.
-The first step is to install Nvidia graphics drivers. This process may
-take a few minutes, but the commands are pretty simple:
+
+The final piece to the migration is enabling hardware transcoding so that Plex
+can fully utilize the new Nvidia GPU available in the server. The first step is
+to install Nvidia graphics drivers. This process may take a few minutes, but the
+commands are pretty simple:
#+begin_src sh
sudo add-apt-repository ppa:graphics-drivers/ppa
@@ -248,5 +212,5 @@ following command to view the available GPUs, statistics, and processes:
sudo nvidia-smi
#+end_src
-Finally, enable hardware transcoding settings in the Plex application to
-finish the process.
+Finally, enable hardware transcoding settings in the Plex application to finish
+the process.