PerPlexed - slunat/Proxmox-Guides GitHub Wiki
This guide covers the manual install of PerPlexed without the requirement for Docker.
Prep
- Create your container with 1 core, minimum 5GB storage and minimum 3GB RAM. You can reduce the ram allocation to 512MB after the build process is complete. This particular guide was created using a Debian 12 container.
- Start your container and run the following commands to get your container up to date and install the required dependencies
apt-get update && apt-get upgrade -y
apt install unzip
apt install nodejs npm
Install
- Pull the files using
wget https://github.com/Ipmake/PerPlexed/archive/refs/heads/main.zip
- Unzip the downloaded archive using
unzip main.zip
- Enter the extracted directory by entering
cd PerPlexed-main/frontend
- Enter the following two commands. This process will take a while so be patient.
npm install
npm run build
- Enter
cd..
to move to the previous folder - Copy the files over to the required directory using
cp -r frontend/build backend/www
- Enter the backed folder using
cd backend
- Run the command
npm install
- Run the following command, making sure to subtitute the IP address with the IP of your Plex server
PLEX_SERVER=http://192.168.10.1:32400 npm run dev
- You should now be able to access the webpage by accessing http://localip:3000 where localip is the IP address of the system or container you are running perplexed on. If you dont know the IP address of your container, you can find it by running
ip address
Setting it to start on boot
- First make sure you are at the home directory by entering
cd
- Next, create and enter a new "scripts" directory to store your script file by entering
mkdir scripts && cd scripts
- Create and enter the editor for your script file. You can call this whatever you want, just make sure you reference it the same in the later steps. We will call it "pp".
nano pp.sh
- Enter the below into the script file
#! /bin/bash
cd PerPlexed-main/backend
PLEX_SERVER=http://192.168.10.1:32400 npm run dev
make sure you use your plex server IP you used in step 9 here
- Press ctrl+x to save the file
- Now we need to make the script file executable, which we can do by entering
chmod +x pp.sh
- The script is now ready to use, we now need to schedule the script to execute at boot. To do this, we will add it to our crontab by entering
crontab -e
. Enter option 1 if promoted for a choice of editor. - At the bottom of this file, enter the line
@reboot scripts/pp.sh
. This will schedule the script to execute whenever the container starts up. - Press ctrl+x to save the changes to the crontab file. Reboot the container and check if you are able to access the web interface for PerPlexed without needing to interact with the system.
Cleanup
Once you have got everything up and running, you no longer require the zip file you pulled from GitHub. TO remove this, make sure you are at your users root directory and enter rm main.zip
I would also suggest reducing the RAM allocation for your container as it will happily run with only 0.5GB of RAM. The additional RAM was only required for the initial build.