Skip to content

Commit

Permalink
PD-1503 / 25.04 / PD-1503 Create Plex App Tutorial (#3261)
Browse files Browse the repository at this point in the history
* PD-1503 Create Plex App Tutorial

This PR creates a tutorial detailing how to install and deploy the Plex app in the 24.10 UI.

This PR can backport to 24.10

* Update static/includes/apps/InstallAppsStorageConfig.md

Co-authored-by: Tim Moore <[email protected]>

* Apply suggestions from code review

Co-authored-by: Tim Moore <[email protected]>

* PD-1503 PR Feedback updates

* PD-1503 PR feedback updates

* PD-1503 PR review update

* Update PlexApp.md

Update line 142 and 143

---------

Co-authored-by: Tim Moore <[email protected]>
  • Loading branch information
micjohnson777 and Mrt134 authored Nov 21, 2024
1 parent 860fe65 commit a7fa87d
Show file tree
Hide file tree
Showing 17 changed files with 299 additions and 14 deletions.
265 changes: 265 additions & 0 deletions content/TruenasApps/StableApps/PlexApp.md

Large diffs are not rendered by default.

Binary file added static/images/SCALE/Apps/AddPlexAppDatasets.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/images/SCALE/Apps/InstallPlexConfig1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/images/SCALE/Apps/InstallPlexScreen.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/images/SCALE/Apps/PlexDetailsScreen.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
&NewLine;

{{< expand "Setting Up Temporary Directory Volumes" "v" >}}
To allow TrueNAS to create temporary directories as storage volumes instead of using datasets, you have two options: set **Type** set to **Temporary (Temporary directory created on the disk)** or **tmpfs (Temporary directory created on the RAM)**.

The **Temporary** option adds a directory in a Docker container in the hidden **ix-apps** dataset, located on the pool selected as the apps pool.
This directory is cleaned up on every container restart, which means the data no only exists in a current session in the container.

The **tmpfs** option creates a Linux temporary filesystem type in RAM.

{{< trueimage src="/images/SCALE/Apps/InstallPlexStorageLogsTemporaryAndTranscodeTmpfsSettings.png" alt="Setting Logs to Temporary and Transcode to tmpfs Direcories" id="Setting Logs to Temporary and Transcode to tmpfs Direcories" >}}

If you add additional storage volumes and set them up as directories, the **Temporary** option requires entering the mount path for where to place the directory, and **tmpfs** requires setting the size limit for the directory in RAM (in MiB).

{{< trueimage src="/images/SCALE/Apps/InstallPlexAddStorageTemporaryDirectorySettings.png" alt="Setting Additional to Temporary Directory" id="Setting Additional Storage to Temporary Directory" >}}

{{< trueimage src="/images/SCALE/Apps/InstallPlexAddStorageTmpfsDirectorySetting.png" alt="Setting Additional Storage to tmpfs Directory" id="Setting Additional Storage to tmpfs Directory" >}}

{{< /expand >}}
7 changes: 4 additions & 3 deletions static/includes/apps/AppInstallWizardUserAndGroupConfig.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,10 @@
Some TrueNAS apps have predefined run-as user and group IDs. These assignments vary based on the app train and other variables such as installing but not running as the root user.

Default user and group IDs are:
* **473** for apps in the **stable** train.
* **568** for some **community** apps and all apps in the **enterprise** train
* **999** for postgres storage volumes
* **473** for the MinIO stable train app.
* **568** (**apps** user), used in some **community** apps and all apps in the **enterprise** train
* **999** (**netdata** user), used for all postgres storage volumes
* **0** (**root** user).

Accept the default user and group ID in the **User and Group Configuration** section or enter the user ID for a new TrueNAS user created to serve as the administrator for this app.

Expand Down
9 changes: 4 additions & 5 deletions static/includes/apps/AppsStableBeforeYouBegin.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,15 @@
* Set a pool for applications to use if not already assigned.

Go to **Apps**. If the pool for apps is not already set, do it when prompted.

{{< trueimage src="/images/SCALE/Apps/AppsChooseAPoolForApps.png" alt="Choose A Pool for Apps" id="Choose A Pool for Apps" >}}

TrueNAS creates the **ix-apps** (hidden) dataset in the pool set as the application pool.
This dataset is internally managed, so you cannot use this as the parent when you create required application datasets.

After setting the pool, the **Installed Applications** screen displays **Apps Service Running** on the top screen banner.

{{< trueimage src="/images/SCALE/Apps/AppsChooseAPoolForApps.png" alt="Choose A Pool for Apps" id="Choose A Pool for Apps" >}}

* (Optional) Create a new TrueNAS user to serve as the administrator for the app.

You can use the default user or add a new user.
When you [create a new user]({{< relref "ManageLocalUsersSCALE.md#creating-user-accounts" >}}) select **Create New Primary Group**, and select the appropriate group in the **Auxiliary Group** for the type of user you want to create. Make note of the UID for the new user to add in the installation wizard.
When you [create a new user]({{< relref "ManageLocalUsersSCALE.md#creating-user-accounts" >}}) select **Create New Primary Group**, and add the appropriate group in the **Auxiliary Group** for the type of user you want to create. Make note of the UID for the new user to add in the installation wizard.

* Create the required dataset(s).
13 changes: 7 additions & 6 deletions static/includes/apps/InstallAppsStorageConfig.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,21 @@

{{< expand "Setting the Storage Volume Type" "v" >}}
To allow TrueNAS to create the storage volume, leave **Type** set to **ixVolume (Dataset created automatically by the system)**.
This adds a storage volume for the application that can be found nested under the hidden **ix-apps** dataset, located on the pool selected as the apps pool.
This is recommended for a test deployment of an app but not for a full app deployment.
This adds a storage volume for the application nested in the hidden **ix-apps** dataset, located on the pool selected as the apps pool.
Using ixVolume is intended for a test deployment of an app but not for a full app deployment, as data does not persist for these volumes after deleting the app where a dataset does.
Datasets make recovering, transferring, and accessing app configuration, user, or other data possible where ixVolumes do not.

To use an existing dataset, which is the recommended option, set **Type** to **Host Path (Path that already exists on the system)**.

If the install wizard shows a **Mount Path**, either accept the default value or enter the correct mount path. For example, if the dataset name is *data*, enter */data* as the mount path.

If you do not select **Enable ACL**, either enter or browse to the location of the dataset and select it to populate the **Host Path** field.
If you select **Enable ACL** after populating the **Host Path** you have to repeat this step, so we recommend selecting **Enable ACL** first.
Select **Enable ACL** to define ACL permissions and to populate the **Host Path** field by either entering or browsing to and selecting the location of the dataset.
Populating the **Host Path** with the dataset location and then selecting **Enable ACL** clears the values, so we recommend selecting **Enable ACL** before entering the host path.

{{< include file="/static/includes/apps/AppInstallWizardACLConfiguration.md" >}}

If the app requires additional datasets, click **Add** to the right of **Additional Storage** to show the storage volume fields.
Repeat the instructions above for each dataset to add.
When the app requires additional datasets, repeat the host path setting for each required dataset.
When adding additional storage volumes inside the container, click **Add** to the right of **Additional Storage** to show the storage volume fields.

Click **Add** to show the mount and host path fields for each additional dataset and if creating storage volumes for postgres data and postgres backup.
{{< /expand >}}

0 comments on commit a7fa87d

Please sign in to comment.