GitHub Action¶
A GitHub Action is provided to automate installation and preparation of a Plex Media Server in a CI/CD pipeline.
The action does the following:
- Installs the latest Plex Media Server for the target platform.
- Installs any specified plugins to the Plex Media Server.
- Collects the Plex Media Server authentication token.
- Provides useful output variables for use in subsequent steps.
Bootstrap Plex server¶
Inputs¶
Name | Description | Default | Required |
---|---|---|---|
accept_eula |
Accept Plex’s EULA. | false |
false |
additional_server_queries |
Space separated list of additional requests to send to the server. The type of request should be at the beginning of the endpoint, followed by a |. If no | is found the default request type of PUT will be used. The requests are sent before the library sections are created. You can use this to enable third party metadata agents, as an example. e.g. put|/system/agents/com.plexapp.agents.imdb/config/1?order=com.plexapp.agents.imdb%2C<my_movie_agent> | "" |
false |
bootstrap_timeout |
Timeout for each step of bootstrap, in seconds. | 540 |
false |
docker_tag |
Docker image to install. Only used when use_docker is true . |
latest |
false |
expose_plex_data_files_for_docker |
When using docker, expose the Plex Media Server application data files to the remainder of your workflow at
${{ github.workspace }}/plex . |
false |
false |
language |
Language to set inside Plex. | en-US.UTF-8 |
false |
plugin_bundles_to_install |
Space separated list of plugin bundles to install. Provide the relative or absolute path to the bundle. | "" |
false |
timezone |
Timezone to set inside Plex. | UTC |
false |
use_docker |
Use Docker to run Plex Media Server. This is only supported on Linux. | false |
false |
without_movies |
Do not create a Movies library (new agent). | false |
false |
without_movies_imdb |
Do not create a Movies library (IMDB agent). | false |
false |
without_movies_tmdb |
Do not create a Movies library (TMDB agent). | false |
false |
without_music |
Do not create a Music library. | false |
false |
without_photos |
Do not create a Photos library. | false |
false |
without_shows |
Do not create a TV Shows library. | false |
false |
Outputs¶
Name | Description |
---|---|
PLEXTOKEN |
The Plex Media Server authentication token. |
PLEX_APP_DATA_PATH |
The path to the Plex Media Server application data. |
PLEX_PLUGIN_LOG_PATH |
The path to the Plex Media Server plugin logs. |
PLEX_PLUGIN_PATH |
The path to the Plex Media Server plugins. |
PLEX_SERVER_BASEURL |
The base URL of the Plex Media Server. |
Examples¶
Basic usage¶
- name: Bootstrap Plex server
id: bootstrap
uses: LizardByte/plexhints@latest
Install plugins¶
- name: Bootstrap Plex server
id: bootstrap
uses: LizardByte/plexhints@latest
with:
plugin_bundles_to_install: >-
MyAwesomePlexPlugin.bundle
AnotherAwesomePlexPlugin.bundle
Disable libraries¶
- name: Bootstrap Plex server
id: bootstrap
uses: LizardByte/plexhints@latest
with:
without_movies: true
without_movies_imdb: true
without_movies_tmdb: true
without_shows: true
without_music: true
without_photos: true
Use Docker (Linux only)¶
- name: Bootstrap Plex server
id: bootstrap
uses: LizardByte/plexhints@latest
with:
use_docker: true
Get Outputs¶
- name: Another Step
env:
PLEXAPI_AUTH_SERVER_BASEURL: ${{ steps.bootstrap.outputs.PLEX_SERVER_BASEURL }}
PLEXAPI_AUTH_SERVER_TOKEN: ${{ steps.bootstrap.outputs.PLEXTOKEN }}
PLEXTOKEN: ${{ steps.bootstrap.outputs.PLEXTOKEN }}
PLEX_APP_DATA_PATH: ${{ steps.bootstrap.outputs.PLEX_APP_DATA_PATH }}
PLEX_PLUGIN_LOG_PATH: ${{ steps.bootstrap.outputs.PLEX_PLUGIN_LOG_PATH }}
PLEX_PLUGIN_PATH: ${{ steps.bootstrap.outputs.PLEX_PLUGIN_PATH }}