<%inherit file="base.html"/> <%! import os import sys import plexpy from plexpy import common, notifiers, newsletters from plexpy.helpers import anon_url, checked docker_setting = 'disabled' if plexpy.DOCKER else '' docker_msg = '(Controlled by Docker Container)' if plexpy.DOCKER else '' available_notification_agents = sorted(notifiers.available_notification_agents(), key=lambda k: k['label'].lower()) available_newsletter_agents = sorted(newsletters.available_newsletter_agents(), key=lambda k: k['label'].lower()) %> <%def name="headIncludes()"> <%def name="headerIncludes()"> <%def name="body()">
Settings
% if config['show_advanced_settings'] == 1:
% else:
% endif % if config['check_github']:
% endif
% if common.RELEASE:

### Version ${common.RELEASE} Changelog

% endif

### Tautulli Configuration

Loading configuration table...

### Tautulli Scheduled Tasks

Loading scheduler table...

### Display Settings

Date Format

Set your preferred date format. Click here to see the parameter list.

Time Format

Set your preferred time format. Click here to see the parameter list.

Week Starting on Monday

Change the "Play by day of week" graph to start on Monday. Default is start on Sunday.

Group Play History

Group play history for the same item and user as a single entry when progress is less than the watched percent.

Current Activity in History Tables

Include current activity in the history tables. Statistics will not be counted until the stream has ended.

Calculate Total File Sizes

Enable if you want Tautulli to calculate the total file size for TV Shows/Seasons and Artists/Albums on the media info tables.

Mask Sensitive Information in Logs

Enable to mask passwords, access tokens, and public IP addresses with asterisks (*) in the logs.
Note: Only logs from the time this setting is enabled will be masked. Do not post your logs publically without masking sensitive information!

### History Logging

Ignore Interval

The interval (in seconds) an item must be in a playing state before logging it. 0 to disable.

Movie Watched Percent

Set the percentage for a movie to be considered as watched. Minimum 50, Maximum 95.

TV Episode Watched Percent

Set the percentage for a TV episode to be considered as watched. Minimum 50, Maximum 95.

Music Listened Percent

Set the percentage for a music track to be considered as listened. Minimum 50, Maximum 95.

Flush Temporary Sessions

Attempt to fix history logging by flushing out all of the temporary sessions in the database.
Warning: This will reset all currently active sessions. For emergency use only when history logging is stuck!

### Updates

Enable Updates

Check for Tautulli updates periodically.

Update Automatically

Update Tautulli automatically if an update is available.

GitHub API Token

Optional: Use your own GitHub API token when checking for updates.

% if plexpy.INSTALL_TYPE == 'git':
Git Remote / Branch ${docker_msg | n}

The git tracking remote and branch (default "origin/master"). Select to switch the git branch (requires restart).

Git Path ${docker_msg | n}

Optional: The path to your git environment variable. Leave blank for default.

% endif

### Activity

Activity Refresh Interval

Set the interval (in seconds) to refresh the current activity on the homepage. Minimum 2, default 10.

### Sections

Select the sections to show on the homepage. Drag the items below to reorder your homepage content.

- Current Activity
- Watch Statistics
- Library Statistics
- Recently Added

### Watch Statistics

Select the cards to show in the watch statistics on the home page. Drag the items below to reorder your homepage content.

- Most Watched Movie
- Most Popular Movie
- Most Watched TV
- Most Popular TV
- Most Listened to Artist
- Most Popular Artist
- Last Watched
- Most Active User
- Most Active Platform
- Most Concurrent Streams

### Library Statistics

Select the cards to show in the library statistics on the home page. Drag the items below to reorder your homepage content.

### Web Interface

Note: Web interface changes require a restart.

% if os.name == 'nt':
Enable System Tray Icon

Show Tautulli shortcut in the system tray.

% endif
Launch Browser on Startup

Launch browser pointed to Tautulli on startup.

HTTP Host ${docker_msg | n}

localhost or an IP address to bind the web server to. Default 0.0.0.0 to bind to all interfaces.

HTTP Port ${docker_msg | n}

Port to bind web server to. Note that ports below 1024 may require root.

Public Tautulli Domain

Set your public Tautulli domain for self-hosted notification images and newsletters. (e.g. http://mydomain.com)

HTTP Root

The base URL of the web server. Used for reverse proxies.

Enable HTTP Proxy

Respect the X-Forwarded-Proto header. Used for reverse proxies with SSL.

Enable HTTPS

Enable HTTPS for web server for encrypted communication.

Create Self-signed Certificate

Check to have Tautulli create a self-signed SSL certificate. Uncheck if you want to use your own certificate.

HTTPS Domains

The domain names used to access Tautulli, separated by commas (,).

HTTPS IPs

The IP addresses used to access Tautulli, separated by commas (,).

HTTPS Certificate

The location of the SSL certificate.

HTTPS Certificate Chain

The location of the SSL certificate chain.

HTTPS Key

The location of the SSL key.

Anonymous Redirect

Backlink protection via anonymizer service, must end in "?".

### Authentication

Note: Authentication changes require a restart.

HTTP Username

Username for web server authentication. Leave empty to disable.

HTTP Password

Password for web server authentication. Leave empty to disable.

Hash Password in the Config File

Store a hashed password in the config file.
Warning: Your password cannot be recovered if forgotten!

Use Basic Authentication

Use basic HTTP authentication instead of the HTML login form.

Allow Plex Admin

Allow the Plex server admin to login as a Tautulli admin using their Plex.tv account.

Allow Guest Access to Tautulli

Allow shared users to login to Tautulli using their Plex.tv account. Individual user access needs to be enabled from Users > Edit Mode.

### API

Enable API

Allow remote applications to interface with Tautulli.

API key

Current API key: ${config['api_key']}

### Plex Media Server Version ${config['pms_version']}

Plex IP Address or Hostname

Select your Plex Media Server from the dropdown menu or enter an IP address or hostname.

Plex Port

Port that Plex Media Server is listening on.

Remote Server

Check this if your Plex Server is not on the same local network as Tautulli.

Use SSL

If you have secure connections enabled on your Plex Server, communicate with it securely.

Plex Server URL

The server URL that Tautulli will use to connect to your Plex server. Retrieved automatically.

Plex Server Identifier

The unique identifier for your Plex server. Retrieved automatically.

Manual Connection Not available for Plex Cloud servers.

Use the user defined connection details. Do not retrieve the server connection URL automatically.

Plex Web URL

Optional: Manually override the Plex Web URL used for click-through links on the media info pages and notifications. Default https://app.plex.tv/desktop.

Logs Folder

Optional: Set your Plex logs folder to use Tautulli as a log viewer. Plex logs are not needed for Tautulli to function. A complete folder path is required, shortcuts are not recognized, and the logs must be accessible from the machine where Tautulli is installed. Click here for help.

Cache Plex Images

Enable to cache images from Plex to reduce API calls and improve loading times.
Note: Video preview thumbnails (BIF) are not cached.

### Server Monitoring

Monitor Plex Updates Not available for Plex Cloud servers.

Enable to have Tautulli check if updates are available for the Plex Media Server.

Update Channel
Release
Update Check Interval

The interval (in hours) Tautulli will check for a new Plex Media Server update. Minimum 1, default 24.

Monitor Plex Remote Access Not available for Plex Cloud servers.

Enable to have Tautulli check if remote access to the Plex Media Server goes down.

Users List Refresh Interval

The interval (in hours) Tautulli will request an updated friends list from Plex.tv. Minimum 1, maximum 24, default 12.

Refresh Users List on Startup

Refresh the users list when Tautulli starts.

Libraries List Refresh Interval

The interval (in hours) Tautulli will request an updated libraries list from your Plex Media Server. Minimum 1, maximum 24, default 12.

Refresh Libraries List on Startup

Refresh the libraries list when Tautulli starts.

### Plex.tv Authentication

Plex.tv Account Token

Token for Plex.tv authentication.

### Current Activity Notifications

Buffer Threshold

The number of buffer events required before triggering the first notification. Buffer events increment on each incoming websocket message if the play state is buffering.
Note: Buffer warnings only work on certain Plex clients. Some clients can send excessive buffer messages or no messages at all. This notification may be unreliable and not indicative of a real problem.

Buffer Wait

The value (in seconds) Tautulli should wait before triggering the next buffer warning. 0 to always trigger.

Allow Consecutive Notifications

Enable to allow sending of consecutive notifications (i.e. both watched & stopped notifications).

User Concurrent Streams Notifications by IP Address

Enable to only send a notification of concurrent streams by a single user from different IP addresses.

User Concurrent Stream Threshold

The number of concurrent streams by a single user for Tautulli to trigger a notification. Minimum 2.

### Recently Added Notifications

Group Notifications by Season or Album

Enable to only send one season or album notification when multiple episodes or tracks are added. Movies, single episodes, and single tracks are unaffected.
Note: An episode/track range can be shown (e.g. 01-12), but all other episode/track metadata will be unavailable.

Group Notifications by TV Show or Artist

Enable to only send one TV show or artist notification when multiple seasons or albums are added. Movies, single episodes, and single tracks are unaffected.
Note: A season range can be shown (e.g. 1-3), but all other season/episode/album/track metadata will be unavailable.

Notification Delay

Set the delay (in seconds) to wait for consecutive recently added items to group together and to allow metadata to be processed before sending the notification. Minimum 60 seconds.

### Newsletters

Self-Hosted Newsletters

Enable to host newsletters on your own domain. This will generate a link to an HTML page where you can view the newsletter.

Note: The ${http_root}newsletter endpoint on your domain must be publicly accessible from the internet.

Warning: Public Tautulli domain not set under Web Interface.

Newsletter Authentication

Select the authentication method to use for self-hosted newsletters.

Warning: Guest Access is not enabled under Web Interface.

Newsletter Password

Enter the password that will be required to view self-hosted newsletters.

Use Inline Styles Template

Enable to use newsletter templates with inline CSS styles. Inline styles render better in email clients, but are larger in size which may cause long newsletters to be clipped.
Note: This setting does not affect custom templates. CSS styles will depend on your own template.

Custom Newsletter Templates Folder

Optional: Enter the full path to your custom newsletter templates folder. Leave blank for default.

Newsletter Output Directory ${docker_msg | n}

Enter the full path to where newsletter files will be saved.

### Notification Agents

Add a new notification agent, or configure an existing notification agent by clicking the settings icon on the right.

Please see the Notification Agents Guide for instructions on setting up each notification agent.

Loading notification agents...

### Newsletter Agents

Add a new newsletter agent, or configure an existing newsletter agent by clicking the settings icon on the right.

Warning: The Image Hosting setting must be enabled for images to display on the newsletter.

Loading newsletter agents...

### Image Hosting

Image hosting is used to provide posters and artwork for some notification agents and newsletters.

Image Host
% if config['notify_upload_posters'] in (1, 3):
% endif

Select where to host Plex images for notifications and newsletters.

Please see the 3rd Party APIs Guide for instructions on setting up Imgur.
Warning: Imgur uploads are rate-limited and newsletters may exceed the limit. Please use Cloudinary for newsletters instead.

Imgur Client ID

Enter your Imgur API Client ID.

Note: The ${http_root}image endpoint on your domain must be publicly accessible from the internet.

Warning: Public Tautulli domain not set under Web Interface.

Please see the 3rd Party APIs Guide for instructions on setting up Cloudinary.

Cloudinary Cloud Name

Enter your Cloudinary Cloud Name.

Cloudinary API Key

Enter your Cloudinary API Key.

Cloudinary API Secret

Enter your Cloudinary API Secret.

### Metadata Lookups

Metadata lookups are used to provide additional links for notifications when available.

Lookup TheMovieDB Links

Enable to lookup links to TheMovieDB (and IMDb if needed) for movies and TV shows when available.

Lookup TVmaze Links

Enable to lookup links to TVmaze (and IMDb if needed) for TV shows when available.

Lookup MusicBrainz Links

Enable to lookup links to MusicBrainz for music when available.

### Geolocation Database

The GeoLite2 database is used to geolocate IP addresses.

Please see the 3rd Party APIs Guide for instructions on setting up MaxMind.

MaxMind License Key

Enter your MaxMind License Key to install the GeoLite2 database.

GeoLite2 Database File ${docker_msg | n}

Leave blank to install in the default location. GeoLite2 database last updated never.

GeoLite2 Database Update Interval

The interval (in days) Tautulli will automatically update the GeoLite2 database. Minimum 7, maximum 30, default 30.

### Database Import

Click a button below to import an existing database from another app.

### Backup

Backup Interval

The interval (in hours) Tautulli will backup the database and configuration file. Minimum 1, maximum 24, default 6.

Backup Days

The number of days to keep scheduled backups. Minimum 1, default 3.
Note: Manual backups are not removed automatically.

### Directories

Log Directory ${docker_msg | n}
Backup Directory ${docker_msg | n}
Cache Directory ${docker_msg | n}

### Tautulli Remote Android App

Get the App

Get the Tautulli Remote app on Google PlayTM to access Tautulli from your Android device!

Registered Devices

Register a new device using a QR code, or configure an existing device by clicking the settings icon on the right.

Warning: The API must be enabled under Web Interface to use the app.

Loading registered devices...
<%def name="modalIncludes()">

#### Guidelines

Please read the guidelines in the README document
before submitting a new !
Your post may be removed for failure to follow the guidelines.

#### Support

Please read the FAQ before asking for help!

#### Date & Time Format Options

% for category in common.DATE_TIME_FORMATS:

${category['category']}
% for parameter in category['parameters']:
${parameter['value']} | ${parameter['description']} | ${parameter['example']}
% endfor

% endfor

#### Add a Notification Agent

% for agent in sorted(available_notification_agents, key=lambda k: k['label'].lower()):
- ${agent['label']}
% endfor

#### Add a Newsletter Agent

% for agent in available_newsletter_agents:
- ${agent['label']}
% endfor

#### Notification Parameters

If the value for a selected parameter cannot be provided, it will display as blank.

% for category in common.NOTIFICATION_PARAMETERS:

${category['category']}
% for parameter in category['parameters']:
{${parameter['value']}} | ${parameter['description']} % if parameter.get('example'): (${parameter['example']}) % endif % if parameter.get('help_text'): (${parameter['help_text']}) % endif
% endfor

% endfor

#### Notification Exclusion Tags

Note: Tags separate the media type that triggered the notifications (i.e. a complete show added to Plex vs. a single episode added to Plex). They do not separate the notification parameters (i.e. {show_name} vs. {episode_name}.

Note: Nesting tags inside each other is not supported.

#### Movie Tag

All text inside <movie></movie> tags will only be sent when the media type is movie.

Example:

    {title}<movie>({year})</movie> was recently added to Plex

#### Show / Season / Episode Tags

All text inside <show></show>/<season></season>/<episode></episode> tags will only be sent when the media type is show, season, or episode, respectively.

Example:

    {show_name}<season> - Season {season_num}</season><episode> - S{season_num}E{episode_num} - {episode_name}</episode> was recently added to Plex.

#### Artist / Album / Track Tag

All text inside <artist></artist>/<album></album>/<track></track> tags will only be sent when the media type is artist, album, or track, respectively.

Example:

    {artist_name}<album> - {album_name}</album><track> - {album_name} - {track_name}</track> was recently added to Plex.

#### Notification Text Modifiers

#### Case Modifiers

Notification parameters with the !u modifier will be converted to uppercase.

Example:

    {video_codec}   --> hevc
    {video_codec!u} --> HEVC

Notification parameters with the !l modifier will be converted to lowercase.

Example:

    {content_rating}   --> TV-PG
    {content_rating!l} --> tv-pg

Notification parameters with the !c modifier will be converted to title case.

Example:

    {media_type}   --> movie
    {media_type!c} --> Movie

#### List Slicing

Notification parameters which have a list of items can be sliced with a slice formatter :[X:Y] to limit the number of items. Note: the first item in the list is numbered 0.

Example:

    {actors:[0]}   --> Only include the 1st actor (Actors: 0)
    {actors:[:4]}  --> Only the first 4 actors (Actors: 0, 1, 2, 3)
    {actors:[2:]}  --> Only the 3rd to last actors (Actors: 2, 3, 4, ...)
    {actors:[1:5]} --> Only the 2nd to 5th actors (Actors: 1, 2, 3, 4)

#### Prefix and Suffix

A prefix or a suffix can be added to the notification parameters using Prefix< and >Suffix. If the notification parameter is unavailable, the prefix or suffix will not be displayed.

Example:

    {rating}              --> 8.9
    {Rating: <rating}     --> Rating: 8.9
    {rating>/10}          --> 8.9/10
    {Rating: <rating>/10} --> Rating: 8.9/10

Example with unavailable parameter:

    {rating}              -->
    Rating: {rating}/10   --> Rating: /10
    {Rating: <rating>/10} -->

#### Combined

If combining multiple notification text modifiers, the order of the modifiers must be:

1. Prefix
2. Parameter
3. Case Modifier
4. List Slicing
5. Suffix

Example:

    {Starring <actors!c:[0]> as the main character.} --> Starring Arnold Schwarzenegger as the main character.

#### Newsletter Parameters

If the value for a selected parameter is unavailable, it will display as blank.

% for category in common.NEWSLETTER_PARAMETERS:

${category['category']}
% for parameter in category['parameters']:
{${parameter['value']}} | ${parameter['description']} % if parameter.get('example'): (${parameter['example']}) % endif % if parameter.get('help_text'): (${parameter['help_text']}) % endif
% endfor

% endfor

#### Changelog

#### Restart

You have changed settings that require Tautulli to restart.
Click the restart button below to restart now.

#### Register Tautulli Android App

Instructions

Scan the QR code below with the Tautulli Android app to automatically register it with the server (make sure the Tautulli Address below is correct) or manually enter the connection info and device token into the app settings.

QR Code

Tautulli Address

Note: 127.0.0.1 and localhost will not work. Please enter an internal or external IP address, or hostname or domain instead.

Note: This is a private IP address. Tautulli will not be reachable outside of your home network. Access Tautulli via an externally address or manually enter the address above to generate the QR code for remote access.

Note: This URL is not secure. Requests between the app and the server will not be encrypted. Enable HTTPS to connect the app securely.

Device Token
<%def name="javascriptIncludes()">