├── .gitattributes
├── .github
├── settings.yml
└── workflows
│ └── ci.yml
├── LICENSE
├── README.md
├── docs
├── assets
│ ├── images
│ │ ├── change-email.webp
│ │ ├── change-stream-quality-apple-tv.webp
│ │ ├── change-stream-quality-ios-android.webp
│ │ ├── change-stream-quality-stream-boxes.webp
│ │ ├── change-stream-quality-web-browser.webp
│ │ ├── custom-newsletter.webp
│ │ ├── disable-online-media-sources.webp
│ │ ├── forgot-password.webp
│ │ ├── guide-logo-dark.webp
│ │ ├── guide-logo-light.webp
│ │ ├── overseerr-release-dates.webp
│ │ ├── pinning-libraries-1.webp
│ │ ├── pinning-libraries-2.webp
│ │ ├── plex-logo.webp
│ │ ├── secure-connections-example.webp
│ │ ├── unsubscribe-from-plex-newsletter.webp
│ │ └── why-bitrate-matters.webp
│ └── video
│ │ ├── dale-go-to-hell.webm
│ │ └── overseerr-reporting-issues.webm
├── changing-stream-quality
│ ├── index.md
│ ├── ios-android.md
│ ├── streaming-devices.md
│ ├── tv-os.md
│ └── web-browser.md
├── disabling-online-media-sources.md
├── faq
│ ├── adding-to-universal-watchlist.md
│ ├── can-i-share-your-plex.md
│ ├── content-issues.md
│ ├── forgot-password.md
│ ├── how-can-i-support-you.md
│ ├── i-dont-want-to-use-overseerr.md
│ ├── missing-emails.md
│ ├── missing-requests.md
│ ├── responsible-content-requests.md
│ ├── special-requests.md
│ ├── what-is-transcoding.md
│ ├── why-bitrate-matters.md
│ ├── why-do-i-to-buy-plex-app.md
│ └── wont-stop-buffering.md
├── index.md
├── overrides
│ └── main.html
├── pinning-libraries.md
├── plex-safety.md
├── requesting-content.md
├── stylesheets
│ └── extra.css
├── unsubscribe-from-plex-newsletter.md
├── useful-links.md
└── what-is-plex.md
├── mkdocs.yml
├── psd
└── Guide Logo.psd
└── requirements.txt
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform line-ending normalization
2 | * text=auto
3 |
4 | # Documentation
5 | *.md text diff=markdown linguist-detectable=true linguist-documentation=false
6 | *.mdx text diff=markdown linguist-detectable=true linguist-documentation=false
7 | *.txt text
8 | *.yml text
9 | *.yaml text
10 |
11 | # Python
12 | *.py text diff=python linguist-detectable=true
13 | requirements.txt text
14 |
15 | # Web files
16 | *.html text diff=html linguist-detectable=true
17 | *.css text diff=css linguist-detectable=true
18 | *.js text diff=javascript linguist-detectable=true
19 | *.json text
20 |
21 | # Git Config
22 | .gitattributes text
23 | .gitignore text
24 | .gitconfig text
25 |
26 | # Graphics
27 | *.png binary
28 | *.jpg binary
29 | *.jpeg binary
30 | *.gif binary
31 | *.ico binary
32 | *.svg text
33 | *.webp binary
34 |
35 | # Video
36 | *.webm binary
37 | *.mp4 binary
38 |
39 | # Enforce checkout with LF
40 | *.sh text eol=lf
41 | *.bash text eol=lf
42 | Makefile text eol=lf
43 |
44 | # Documentation overrides
45 | docs/** linguist-documentation=false
46 |
--------------------------------------------------------------------------------
/.github/settings.yml:
--------------------------------------------------------------------------------
1 | repository:
2 | has_wiki: false
3 | has_projects: false
4 | has_downloads: false
5 | delete_branch_on_merge: true
6 |
7 | branches:
8 | - name: main
9 | protection:
10 | required_pull_request_reviews: null
11 | required_status_checks: null
12 | enforce_admins: false
13 | restrictions: null
14 |
--------------------------------------------------------------------------------
/.github/workflows/ci.yml:
--------------------------------------------------------------------------------
1 | name: Build and Deploy MkDocs Site
2 |
3 | on:
4 | push:
5 | branches: [main, develop]
6 | tags:
7 | - '*' # This will trigger on any tag
8 | workflow_dispatch:
9 | pull_request:
10 |
11 | concurrency:
12 | group: "pages"
13 | cancel-in-progress: true
14 |
15 | permissions:
16 | contents: write
17 | pages: write
18 | id-token: write
19 |
20 | jobs:
21 | build:
22 | runs-on: ubuntu-latest
23 | timeout-minutes: 10
24 | # Skip if commit message contains [skip ci]
25 | if: |
26 | !contains(join(github.event.commits.*.message, ' '), '[skip ci]') &&
27 | !contains(join(github.event.commits.*.message, ' '), '[ci skip]') &&
28 | !contains(join(github.event.commits.*.message, ' '), '[skip-ci]') &&
29 | !contains(join(github.event.commits.*.message, ' '), '[no ci]') &&
30 | (
31 | github.event_name == 'push' ||
32 | github.event_name == 'workflow_dispatch' ||
33 | github.event_name == 'pull_request'
34 | )
35 | env:
36 | REQUEST_URL: ${{ vars.REQUEST_URL }}
37 | PLEX_URL: ${{ vars.PLEX_URL }}
38 | PLEX_LIBRARIES: ${{ vars.PLEX_LIBRARIES }}
39 | NOREPLY_EMAIL: ${{ vars.NOREPLY_EMAIL }}
40 | steps:
41 | - name: Checkout repo
42 | uses: actions/checkout@v4
43 | with:
44 | fetch-depth: 0
45 |
46 | - name: Setup Python
47 | uses: actions/setup-python@v5
48 | with:
49 | python-version: 3.x
50 | cache: pip
51 |
52 | - name: Cache git committers
53 | uses: actions/cache@v4
54 | id: cache-committers
55 | with:
56 | key: git-committers-${{ github.sha }}
57 | path: .cache/plugin/git-committers
58 | restore-keys: |
59 | git-committers-
60 |
61 | - name: Install Dependencies
62 | run: |
63 | pip install -r requirements.txt
64 |
65 | - name: Set Build Info
66 | run: |
67 | if [[ "${{ github.ref }}" == "refs/heads/develop" ]]; then
68 | COMMIT_SHA=$(echo ${{ github.sha }} | cut -c1-7)
69 | echo "commit_sha=$COMMIT_SHA" >> $GITHUB_ENV
70 | else
71 | echo "commit_sha=" >> $GITHUB_ENV
72 | fi
73 |
74 | - name: Update mkdocs.yml
75 | run: |
76 | # Get current year
77 | YEAR=$(date +'%Y')
78 | # Convert username to lowercase
79 | USERNAME=$(echo "${{ github.repository_owner }}" | tr '[:upper:]' '[:lower:]')
80 | # Process the entire mkdocs.yml file
81 | cat mkdocs.yml | \
82 | sed "s/{{ username }}/${USERNAME}/g" | \
83 | sed "s/{{ repo_name }}/${{ github.event.repository.name }}/g" | \
84 | sed "s/{{ year }}/${YEAR}/g" | \
85 | sed "s/{{ commit_sha }}/${commit_sha}/g" \
86 | > mkdocs.generated.yml
87 | mv mkdocs.generated.yml mkdocs.yml
88 |
89 | - name: Build Site
90 | env:
91 | COMMIT_SHA: ${{ env.commit_sha }}
92 | run: mkdocs build
93 |
94 | - name: Upload artifact
95 | uses: actions/upload-pages-artifact@v3
96 | with:
97 | path: ./site
98 |
99 | deploy:
100 | needs: build
101 | runs-on: ubuntu-latest
102 | timeout-minutes: 5
103 |
104 | # Deploy to the github-pages environment
105 | environment:
106 | name: github-pages
107 | url: ${{ steps.deployment.outputs.page_url }}
108 |
109 | steps:
110 | - name: Deploy to GitHub Pages
111 | id: deployment
112 | uses: actions/deploy-pages@v4
113 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2025 MisterCalvin
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Plex Documentation Guide
2 |
3 | [](https://github.com/MisterCalvin/mkdocs-plex-guide-template/actions/workflows/ci.yml)
4 |
5 | A standardized documentation template for your Plex server, built with Material for MkDocs and deployed via GitHub Pages. This template includes pre-built pages covering common Plex topics like streaming quality, content requests, transcoding, and more.
6 |
7 | ## ✨ Features
8 | - 📚 Pre-built pages for common Plex topics
9 | - 🔄 Automatic deployment via GitHub Actions
10 | - 🎨 Material for MkDocs theme with custom styling
11 | - 🔧 Easy configuration through environment variables
12 |
13 | ## 🚀 Getting Started
14 | > [!IMPORTANT]
15 | > Complete all steps below to ensure your site deploys correctly. Missing any step will cause the deployment to fail.
16 |
17 | 1. Fork this repository to your own GitHub account
18 |
19 | 2. Enable GitHub Pages:
20 | * Go to [Settings > Pages](../../settings/pages)
21 | * Under "Build and deployment", change Source to "GitHub Actions"
22 | * Wait for the blue success message "GitHub Pages source saved"
23 |
24 | 3. Enable GitHub Actions:
25 | * Go to [Actions tab](../../actions)
26 | * Click "I understand my workflows, go ahead and enable them"
27 |
28 | 4. Run the workflow:
29 | * Option 1: Modify and push a change (e.g., customize variables in [main.py](main.py))
30 | * Option 2: Manually trigger the workflow
31 | * Go to [Build and Deploy MkDocs Site](../../actions/workflows/ci.yml) in the Actions tab
32 | * Click "Run workflow" dropdown button
33 | * Select branch (main) and click "Run workflow"
34 |
35 | Your site will be available at `https://yourusername.github.io/mkdocs-plex-guide-template` after the workflow completes.
36 |
37 | The template will automatically use your GitHub username and repository name throughout the site. You can see this in action at my demo site: https://mistercalvin.github.io/mkdocs-plex-guide-template
38 |
39 | ## 📝 Customization
40 |
41 | ### Basic Configuration
42 | The following values are automatically set via environment variables in [`ci.yml`](.github/workflows/ci.yml) and used in the header + footer of your MKDocs site:
43 | - `username` - Your GitHub username (lowercase)
44 | - `repo_name` - Repository name
45 | - `year` - Current year
46 |
47 | # Required Variables and Default Values
48 |
49 | > [!NOTE]
50 | > If you want to use GitHub environment variables (like having different URLs for staging/production), you'll need to define them in your repository's [Settings > Security > Secrets and variables > Actions > Variables](../../settings/variables/actions). Use the `!ENV` syntax in `mkdocs.yml` to reference these variables. If you don't need this functionality, you can use plaintext values directly.
51 |
52 | Variables are defined in the `extra:` section of [`mkdocs.yml`](mkdocs.yml#L126) and can be used throughout your markdown pages. For repository variables like `username` and `repo_name`, we use GitHub's built-in environment variables. For custom variables, we use plaintext values:
53 |
54 | ```yaml
55 | extra:
56 | vars:
57 | # GitHub environment variables
58 | username: !ENV GITHUB_REPOSITORY_OWNER
59 | repo_name: !ENV GITHUB_REPOSITORY
60 | # Custom plaintext values
61 | request_url: "request.example.com"
62 | plex_url: "plex.example.com"
63 | plex_libraries: "Movies and TV Shows"
64 | noreply_email: "noreply@example.com"
65 | ```
66 |
67 | You can reference these variables in your markdown files using the syntax `{{ vars.variable_name }}`.
68 |
69 | ### Content Customization
70 | Key files to modify:
71 | - `docs/*.md` - Documentation pages
72 | - `docs/stylesheets/extra.css` - [Custom admonitions](https://squidfunk.github.io/mkdocs-material/reference/admonitions/#custom-admonitions)
73 | - `docs/assets/` - Images and video
74 |
75 | ## 🔧 Troubleshooting
76 |
77 | If your deployment fails, check:
78 | 1. [GitHub Pages](../../settings/pages) is enabled and set to "GitHub Actions" as the source
79 | 2. [GitHub Actions](../../actions) is enabled for your repository
80 |
81 | ## 📚 Resources
82 |
83 | ### Documentation / Plugins
84 | - [Material for MkDocs - Getting started](https://squidfunk.github.io/mkdocs-material/getting-started/)
85 | - [MkDocs Plugins Catalog](https://github.com/mkdocs/catalog)
86 | - [MKDocs Password Encryption Plugin](https://github.com/unverbuggt/mkdocs-encryptcontent-plugin)
87 |
88 | ### Video Tutorials
89 | - [Creating Documentation with MkDocs Material Theme](https://www.youtube.com/watch?v=Q-YA_dA8C20) - James Willett
90 | - [Hosting MkDocs on Cloudflare Pages](https://www.youtube.com/watch?v=7-HhLascLuM) - Techdox
91 |
--------------------------------------------------------------------------------
/docs/assets/images/change-email.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MisterCalvin/mkdocs-plex-guide-template/28450ad029dfed4524c8860d3ed0ddb0099f8465/docs/assets/images/change-email.webp
--------------------------------------------------------------------------------
/docs/assets/images/change-stream-quality-apple-tv.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MisterCalvin/mkdocs-plex-guide-template/28450ad029dfed4524c8860d3ed0ddb0099f8465/docs/assets/images/change-stream-quality-apple-tv.webp
--------------------------------------------------------------------------------
/docs/assets/images/change-stream-quality-ios-android.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MisterCalvin/mkdocs-plex-guide-template/28450ad029dfed4524c8860d3ed0ddb0099f8465/docs/assets/images/change-stream-quality-ios-android.webp
--------------------------------------------------------------------------------
/docs/assets/images/change-stream-quality-stream-boxes.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MisterCalvin/mkdocs-plex-guide-template/28450ad029dfed4524c8860d3ed0ddb0099f8465/docs/assets/images/change-stream-quality-stream-boxes.webp
--------------------------------------------------------------------------------
/docs/assets/images/change-stream-quality-web-browser.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MisterCalvin/mkdocs-plex-guide-template/28450ad029dfed4524c8860d3ed0ddb0099f8465/docs/assets/images/change-stream-quality-web-browser.webp
--------------------------------------------------------------------------------
/docs/assets/images/custom-newsletter.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MisterCalvin/mkdocs-plex-guide-template/28450ad029dfed4524c8860d3ed0ddb0099f8465/docs/assets/images/custom-newsletter.webp
--------------------------------------------------------------------------------
/docs/assets/images/disable-online-media-sources.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MisterCalvin/mkdocs-plex-guide-template/28450ad029dfed4524c8860d3ed0ddb0099f8465/docs/assets/images/disable-online-media-sources.webp
--------------------------------------------------------------------------------
/docs/assets/images/forgot-password.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MisterCalvin/mkdocs-plex-guide-template/28450ad029dfed4524c8860d3ed0ddb0099f8465/docs/assets/images/forgot-password.webp
--------------------------------------------------------------------------------
/docs/assets/images/guide-logo-dark.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MisterCalvin/mkdocs-plex-guide-template/28450ad029dfed4524c8860d3ed0ddb0099f8465/docs/assets/images/guide-logo-dark.webp
--------------------------------------------------------------------------------
/docs/assets/images/guide-logo-light.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MisterCalvin/mkdocs-plex-guide-template/28450ad029dfed4524c8860d3ed0ddb0099f8465/docs/assets/images/guide-logo-light.webp
--------------------------------------------------------------------------------
/docs/assets/images/overseerr-release-dates.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MisterCalvin/mkdocs-plex-guide-template/28450ad029dfed4524c8860d3ed0ddb0099f8465/docs/assets/images/overseerr-release-dates.webp
--------------------------------------------------------------------------------
/docs/assets/images/pinning-libraries-1.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MisterCalvin/mkdocs-plex-guide-template/28450ad029dfed4524c8860d3ed0ddb0099f8465/docs/assets/images/pinning-libraries-1.webp
--------------------------------------------------------------------------------
/docs/assets/images/pinning-libraries-2.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MisterCalvin/mkdocs-plex-guide-template/28450ad029dfed4524c8860d3ed0ddb0099f8465/docs/assets/images/pinning-libraries-2.webp
--------------------------------------------------------------------------------
/docs/assets/images/plex-logo.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MisterCalvin/mkdocs-plex-guide-template/28450ad029dfed4524c8860d3ed0ddb0099f8465/docs/assets/images/plex-logo.webp
--------------------------------------------------------------------------------
/docs/assets/images/secure-connections-example.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MisterCalvin/mkdocs-plex-guide-template/28450ad029dfed4524c8860d3ed0ddb0099f8465/docs/assets/images/secure-connections-example.webp
--------------------------------------------------------------------------------
/docs/assets/images/unsubscribe-from-plex-newsletter.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MisterCalvin/mkdocs-plex-guide-template/28450ad029dfed4524c8860d3ed0ddb0099f8465/docs/assets/images/unsubscribe-from-plex-newsletter.webp
--------------------------------------------------------------------------------
/docs/assets/images/why-bitrate-matters.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MisterCalvin/mkdocs-plex-guide-template/28450ad029dfed4524c8860d3ed0ddb0099f8465/docs/assets/images/why-bitrate-matters.webp
--------------------------------------------------------------------------------
/docs/assets/video/dale-go-to-hell.webm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MisterCalvin/mkdocs-plex-guide-template/28450ad029dfed4524c8860d3ed0ddb0099f8465/docs/assets/video/dale-go-to-hell.webm
--------------------------------------------------------------------------------
/docs/assets/video/overseerr-reporting-issues.webm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MisterCalvin/mkdocs-plex-guide-template/28450ad029dfed4524c8860d3ed0ddb0099f8465/docs/assets/video/overseerr-reporting-issues.webm
--------------------------------------------------------------------------------
/docs/changing-stream-quality/index.md:
--------------------------------------------------------------------------------
1 | # Changing Plex Streaming Quality
2 |
3 | By default, Plex sets video quality to 720p on all new devices. While this conservative setting ensures broad compatibility, it's not optimal for several reasons:
4 |
5 | 1. Most devices today can handle higher quality streams
6 | 2. Downscaling 1080p content to 720p reduces video quality
7 | 3. [Transcoding](../faq/what-is-transcoding.md) (converting) video from 1080p to 720p creates unnecessary load on the server
8 |
9 | !!! tip
10 | For the best viewing experience, you should adjust your quality settings to "Maximum" or at least "1080p" if your internet connection can support it. The sections in the table of contents to your left will show you how to do this on different devices.
11 |
12 | !!! note
13 | You'll need to change this setting once for each new Plex app you use (phone, TV, web browser, etc.). After that, the setting will be remembered for that device.
14 |
--------------------------------------------------------------------------------
/docs/changing-stream-quality/ios-android.md:
--------------------------------------------------------------------------------
1 | # Changing Plex streaming quality: iOS & Android
2 |
3 | !!! example "iOS & Android"
4 |
5 | 
6 |
7 | **Source**: [plxplainers.xyz](https://www.plxplainers.xyz/)
8 |
--------------------------------------------------------------------------------
/docs/changing-stream-quality/streaming-devices.md:
--------------------------------------------------------------------------------
1 | # Changing Plex streaming quality: Amazon Fire TV, Android TV, PlayStation 4/5, Xbox, Roku, Smart TV (LG, Samsung, VIZIO)
2 |
3 | !!! example "Amazon Fire TV, Android TV, PlayStation 4/5, Xbox, Roku, Smart TV (LG, Samsung, VIZIO)"
4 |
5 | 
6 |
7 | **Source**: [plxplainers.xyz](https://www.plxplainers.xyz/)
8 |
--------------------------------------------------------------------------------
/docs/changing-stream-quality/tv-os.md:
--------------------------------------------------------------------------------
1 | # Changing Plex streaming quality: tvOS (Apple TV)
2 |
3 | !!! example "tvOS (Apple TV)"
4 |
5 | 
6 |
7 | **Source**: [plxplainers.xyz](https://www.plxplainers.xyz/)
8 |
--------------------------------------------------------------------------------
/docs/changing-stream-quality/web-browser.md:
--------------------------------------------------------------------------------
1 | # Changing Plex streaming quality: Web Browser
2 |
3 | !!! example "Web Browser"
4 |
5 | 
6 |
7 | **Source**: [plxplainers.xyz](https://www.plxplainers.xyz/)
8 |
--------------------------------------------------------------------------------
/docs/disabling-online-media-sources.md:
--------------------------------------------------------------------------------
1 | # Disabling Online Media Sources
2 |
3 | Plex offers additional services like Live TV, Music, and Web Shows that you may see in your sidebar. If you're only interested in accessing my Movie and TV Show libraries, you can disable or unpin these extra services to keep your interface clean and focused. This can be done through your Plex application settings and helps prevent confusion between my content and Plex's online services.
4 |
5 | !!! example "How-to: Disabling Online Media Sources"
6 |
7 | 
8 |
9 | **Source**: [plxplainers.xyz](https://www.plxplainers.xyz/)
10 |
--------------------------------------------------------------------------------
/docs/faq/adding-to-universal-watchlist.md:
--------------------------------------------------------------------------------
1 | # How do I add items to my Plex Universal Watchlist?
2 |
3 | !!! quote
4 | It’s easy to add content to your Universal Watchlist from a number of places:
5 |
6 | - Movies or TV shows in a Plex Media Server library (not individual seasons or episodes)
7 | - Plex’s free Movies & Shows streaming content
8 | - Content you find in the Discover source
9 | - Via the player when watching trailers
10 |
11 | From any of those sources:
12 |
13 | - On Movie and TV show library or universal detail screens, you click on the Add to Watchlist button
14 | - On mobile and TV grid views you can long press on a Movie or show poster to see the Add to Watchlist option
15 | - In the web app click on the options menu on the bottom right of a trailer, show or movie poster/thumb
16 | - From search results menu in the desktop/web app click the menu to the right of each result
17 | - During trailer playback from the Discover source an Add to Watchlist button is located on near the playback controls
18 | - If you select a non-Plex streaming service to watch a TV show from the universal details page, when you return to Plex it will ask you if you want to add that show to your Watchlist so you can quickly access the show in the future to watch more episodes. Plex can automatically remove shows and movies from the Watchlist if played within Plex Movies & Shows. Items watched on other services will need to be managed manually.
19 |
20 | If an item is already on your Watchlist, the option will be displayed as Remove from Watchlist.
21 |
22 | **Source**: [Plex: Universal Watchlist](https://support.plex.tv/articles/universal-watchlist/#:~:text=On%20Movie%20and%20TV%20show,show%20or%20movie%20poster%2Fthumb)
23 |
--------------------------------------------------------------------------------
/docs/faq/can-i-share-your-plex.md:
--------------------------------------------------------------------------------
1 | # Sharing Access to the Server
2 |
3 | !!! important
4 | Please do not share my Plex server or your account with others, with one exception:
5 |
6 | - You may share with your spouse or significant other
7 |
8 | If you know someone who would like access to the server, please speak with me directly.
9 |
--------------------------------------------------------------------------------
/docs/faq/content-issues.md:
--------------------------------------------------------------------------------
1 | # I'm having a problem with a Movie or TV Show
2 |
3 | If you encounter any problems with content (such as distorted video, incorrect media, double images, or misaligned subtitles), you have two ways to report it:
4 |
5 | ## Using Overseerr (Preferred Method)
6 |
7 | 1. Visit [{{ vars.request_url }}](https://{{ vars.request_url }})
8 | 2. Find the problematic Movie or TV Show
9 | 3. Click the yellow exclamation point icon in the top right
10 | 4. Enter the details of the issue
11 |
12 | While this method isn't required, it helps me track and resolve issues more effectively by creating a searchable history of reported problems.
13 |
14 | !!! example "Reporting issues within Overseerr"
15 |
18 |
19 | ## Why use Overseerr for reporting?
20 |
21 | - Creates a documented history of the issue
22 | - Helps me track problems I can't fix immediately
23 | - Makes it easier to identify patterns in content issues
24 | - Provides all the necessary details in one place
25 |
26 | ## Direct Contact
27 |
28 | - You can always contact me directly about any issues
29 | - This is perfectly fine and works too!
30 |
--------------------------------------------------------------------------------
/docs/faq/forgot-password.md:
--------------------------------------------------------------------------------
1 | # Help, I forgot my Plex password!
2 |
3 | !!! quote
4 | If you’ve forgotten your password and need to have it reset, you can find a Forgot? link on email sign-in form.
5 |
6 | { width="498" }
7 | /// caption
8 | Forgot password?
9 | ///
10 |
11 | Enter your email address and submit the form. If the address matches an existing, active Plex account, an email will be sent that contains instructions on resetting the account password.
12 |
13 | !!! note
14 | If there is no Plex account matching the submitted address or if you have deleted your Plex account, then no email will be sent.
15 |
16 | **Related Page**: [Plex: Forgot Password?](https://app.plex.tv/auth#?resetPassword)
17 |
--------------------------------------------------------------------------------
/docs/faq/how-can-i-support-you.md:
--------------------------------------------------------------------------------
1 | # Supporting the Server
2 |
3 | ## Donations
4 | My Plex server is and will always be completely free. No donations or payments will ever be accepted - just enjoy the content!
5 |
6 | ## Plex Pass (Optional)
7 | If you're enjoying Plex, you might want to consider getting a [Plex Pass](https://www.plex.tv/plex-pass/). While I don't receive any compensation, it offers several premium features:
8 |
9 | * Download content for offline viewing
10 | * Auto-skip intros and credits
11 | * Access to Live TV
12 | * And more!
13 |
14 | ### Plex Pass Subscription Options
15 | - Monthly: Around $5
16 | - **Recommended:** Lifetime subscription
17 | - Usually $120
18 | - Often discounted to $80-90 during Black Friday sales
19 | - Best value if you plan to use Plex long-term
20 |
21 | !!! note
22 | Plex Pass is completely optional - you don't need it to access and enjoy my server's content.
23 |
--------------------------------------------------------------------------------
/docs/faq/i-dont-want-to-use-overseerr.md:
--------------------------------------------------------------------------------
1 | # I don't want to use this request thingy, can't I just tell you what I want?
2 |
3 | !!! tip
4 |
7 |
--------------------------------------------------------------------------------
/docs/faq/missing-emails.md:
--------------------------------------------------------------------------------
1 | # Missing Confirmation Emails
2 |
3 | ## Expected Notifications
4 | When you request content, you should receive two automated emails:
5 |
6 | 1. Request approval confirmation
7 | 2. Content availability notification when ready to stream
8 |
9 | ## Troubleshooting Missing Emails
10 | If you're not receiving these notifications, it's likely because:
11 |
12 | - You may have signed up for Plex using an old or inactive email address
13 | - Your email settings in Plex need to be updated
14 |
15 | ## How to Update Your Email
16 | To fix this, you'll need to update the email address associated with your Plex account.
17 |
18 | !!! quote
19 | Once signed in to your Plex account, you can manage your account information at any time from Plex Web App. Click the top right user menu and then choose Account. Here, you’ll be able to edit and manage various aspects of your Plex account.
20 |
21 | { width="800" }
22 | /// caption
23 | Plex account email
24 | ///
25 |
26 | **Related Page**: [Plex Web App: Account Page](https://app.plex.tv/desktop#!/settings/account)
27 |
28 | !!! note
29 | After updating your email, new request notifications will be sent to your updated address.
30 |
--------------------------------------------------------------------------------
/docs/faq/missing-requests.md:
--------------------------------------------------------------------------------
1 | # I requested something an hour ago but it hasn't shown up yet. Why?
2 |
3 | When requesting content at [{{ vars.request_url }}](https://{{ vars.request_url }}), you'll see three important dates:
4 |
5 | { width="320" }
6 | /// caption
7 | Release dates within {{ vars.request_url }}
8 | ///
9 |
10 | 1. Theatrical Release - When it hits theaters
11 | 2. Digital Release - When it's available to stream/purchase digitally
12 | 3. Physical Release - When DVDs/Blu-rays are available
13 |
14 | !!! important
15 | Content typically won't be available on Plex until after its Digital Release date. When requesting new content, always check the Digital Release date in Overseerr's "Release Dates" column to know when it will be available.
16 |
17 | There are rare exceptions to this rule, but generally, if your requested content isn't showing up in Plex, verify that its Digital Release date has passed.
18 |
--------------------------------------------------------------------------------
/docs/faq/responsible-content-requests.md:
--------------------------------------------------------------------------------
1 | # Responsible Content Requesting
2 |
3 | ## Understanding How Plex Works
4 | Unlike streaming services like Netflix or Disney+, my Plex server runs on physical hardware at my home. Every Movie and TV Show you request is stored on hard drives that I maintain and pay for. While I'm happy to provide this service, it's important to understand that storage space isn't infinite!
5 |
6 | ## Request Guidelines
7 | I encourage you to request content you're genuinely interested in watching. Here are some tips for responsible requesting:
8 |
9 | * Try to watch content you've requested
10 | * Consider pacing your requests with your viewing habits
11 | * Feel free to request whatever interests you, but be mindful of requesting large amounts of content you may not get to
12 |
13 | ## Life Happens
14 | I completely understand that:
15 |
16 | * You might lose interest in something you requested
17 | * Life gets busy and you can't watch everything
18 | * Your viewing preferences might change
19 |
20 | This is all perfectly normal! These guidelines aren't strict rules - they're just to help everyone understand how the server works and to make the most of our shared resource.
21 |
22 | ## Questions?
23 | If you're unsure about requesting something or have questions about how much to request, feel free to reach out to me. I'm always happy to help!
24 |
25 | !!! note
26 | Remember: This is a free service I provide because I enjoy sharing content with friends and family. Being mindful of your requests helps me maintain the server effectively for everyone.
27 |
--------------------------------------------------------------------------------
/docs/faq/special-requests.md:
--------------------------------------------------------------------------------
1 | # Content Quality and Language Options
2 |
3 | ## Default Settings
4 | By default, all content on my Plex server has:
5 |
6 | - 1080p resolution
7 | - English audio track
8 | - English subtitles (when available)
9 |
10 | ## Special Requests
11 | If you need any of the following, please contact me privately:
12 |
13 | - 4K versions
14 | - Specific audio languages
15 | - Additional subtitle languages
16 | - Alternate cuts or versions
17 | - Additional features such as DVD commentaries or extras
18 |
19 | !!! note
20 | Special requests may take additional time to process and could require additional storage space. I'll do my best to accommodate your needs.
21 |
--------------------------------------------------------------------------------
/docs/faq/what-is-transcoding.md:
--------------------------------------------------------------------------------
1 | # What is Transcoding?
2 |
3 | !!! quote "What is transcoding?"
4 | Great question, Transcoding is Plex's secret sauce. It makes sure that whatever the device you are on, it will transcode the tiny bits that make up a video into a format that your client can understand and display. This is true for both video and audio formats.
5 |
6 | ## Why is Transcoding not preferred?
7 | Another great question. Transcoding effects picture quality while also taking adverse effects on the server that is sending the digital bits. It has to shrink the bits and then send them to your client. Imagine if it didn't have to change the bits? It just sent them.
8 |
9 | ## What's in it for me?
10 | Quicker loading times, you press play and the video will start sooner than if the server had to change all the bits. Faster video scrubbing (Fast FWD/RWD), meaning skipping ahead and rewinding will be quicker. More people can enjoy the server if the server doesn't have to work as hard and you get the highest quality picture you can. Hence this site was created to educate users on the optimal settings for Plex for the best experience.
11 |
12 | **Source**: [mediaclients.wiki/Plex](https://mediaclients.wiki/Plex)
13 |
--------------------------------------------------------------------------------
/docs/faq/why-bitrate-matters.md:
--------------------------------------------------------------------------------
1 | # Why Bitrate Matters
2 |
3 | !!! info "Technical Guide: Why Bitrate Matters"
4 |
5 | 
6 |
7 | **Source**: [plxplainers.xyz](https://www.plxplainers.xyz/)
8 |
--------------------------------------------------------------------------------
/docs/faq/why-do-i-to-buy-plex-app.md:
--------------------------------------------------------------------------------
1 | # Why do I need to buy the Plex app on my phone?
2 |
3 | !!! quote
4 |
5 | Our mobile apps (Android and iOS) can be used for free, but have limitations. Until the mobile app is unlocked (through an in-app purchase or a Plex Pass subscription), video and music streamed from a Plex Media Server has a 1 minute playback limit, and photos will be watermarked.
6 |
7 | **Source**: [Plex: Free vs Paid](https://support.plex.tv/articles/202526943-plex-free-vs-paid/)
--------------------------------------------------------------------------------
/docs/faq/wont-stop-buffering.md:
--------------------------------------------------------------------------------
1 | # My video won't stop buffering
2 |
3 | If you're experiencing constant buffering, there are two common solutions:
4 |
5 | ### 1. Lower Your Streaming Quality {: .no-toc }
6 |
7 | Your internet connection might need a lower quality setting:
8 |
9 | * Your internet speed might not support maximum resolution streaming
10 | * Try reducing the quality to 1080p or 720p
11 | * See the [Changing Plex streaming quality](../changing-stream-quality/index.md) page for detailed instructions on changing the streaming quality for different devices
12 |
13 | ### 2. Check Your Subtitles {: .no-toc }
14 |
15 | Subtitle processing can cause buffering:
16 |
17 | * Plex can sometimes struggle with subtitle processing
18 | * If you have subtitles enabled, try disabling them temporarily
19 | * This often resolves buffering issues immediately
20 |
21 | Still having trouble? Feel free to reach out to me privately for help troubleshooting the issue.
22 |
--------------------------------------------------------------------------------
/docs/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Preamble
3 | ---
4 | #
5 |
6 | 
7 | 
8 |
9 | This guide details common tasks you'll need to perform when joining my Plex server for the first time. The content herein should answer 99% of your questions, though you're always welcome to ask me directly. While this guide primarily shows screenshots from a web browser, you can make these changes from any Plex app (mobile, smart TV, or game console). If you have trouble finding a particular setting, I recommend switching to a web browser to make the changes. All settings in this guide will sync across your devices and only need to be configured once, with one important exception: Plex streaming quality must be set separately the first time you log into each new Plex application.
10 |
11 | While you don't need to read this guide from start to finish, new Plex users should at least review the essential sections on [Pinning Libraries](pinning-libraries.md) and [Changing Plex streaming quality](changing-stream-quality/index.md).
12 |
--------------------------------------------------------------------------------
/docs/overrides/main.html:
--------------------------------------------------------------------------------
1 | {% extends "base.html" %}
2 |
3 | {% block header %}
4 | {% if config.extra.env.branch == "develop" %}
5 |
6 |