parent
9836ec1643
commit
fe210cef52
7 changed files with 231 additions and 9 deletions
|
@ -1,12 +1,12 @@
|
||||||
role-jellyfin
|
role-jellyfin
|
||||||
=========
|
=========
|
||||||
|
|
||||||
A brief description of the role goes here.
|
This role installs and configures the jellyfin server and web UI
|
||||||
|
|
||||||
Requirements
|
Requirements
|
||||||
------------
|
------------
|
||||||
|
|
||||||
No requirements
|
The nginx-ssl role is highly recommended to handle ssl termination. Similarly the certbot role is also highly recommended to handle certificate creation/renewal automatically
|
||||||
|
|
||||||
Role Variables
|
Role Variables
|
||||||
--------------
|
--------------
|
||||||
|
@ -23,8 +23,8 @@ Example Playbook Template
|
||||||
|
|
||||||
Playbook creation should be handled by playbook-builder. To include role in a playbook, add one of these lines (changing version/branch as needed) to the template with other core entries:
|
Playbook creation should be handled by playbook-builder. To include role in a playbook, add one of these lines (changing version/branch as needed) to the template with other core entries:
|
||||||
|
|
||||||
role:mount:v1.0:core,mount
|
role:jellyfin:v1.0:workload,jellyfin
|
||||||
role:mount:testing:core,mount
|
role:jellyfin:testing:workload,jellyfin
|
||||||
|
|
||||||
License
|
License
|
||||||
-------
|
-------
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
#SPDX-License-Identifier: MIT-0
|
#SPDX-License-Identifier: MIT-0
|
||||||
---
|
---
|
||||||
# defaults file for ${REPO_NAME}
|
# defaults file for role-jellyfin
|
||||||
|
|
192
files/system.xml
Normal file
192
files/system.xml
Normal file
|
@ -0,0 +1,192 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<ServerConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||||
|
<LogFileRetentionDays>3</LogFileRetentionDays>
|
||||||
|
<IsStartupWizardCompleted>true</IsStartupWizardCompleted>
|
||||||
|
<CachePath>/var/cache/jellyfin</CachePath>
|
||||||
|
<EnableMetrics>false</EnableMetrics>
|
||||||
|
<EnableNormalizedItemByNameIds>true</EnableNormalizedItemByNameIds>
|
||||||
|
<IsPortAuthorized>true</IsPortAuthorized>
|
||||||
|
<QuickConnectAvailable>true</QuickConnectAvailable>
|
||||||
|
<EnableCaseSensitiveItemIds>true</EnableCaseSensitiveItemIds>
|
||||||
|
<DisableLiveTvChannelUserDataName>true</DisableLiveTvChannelUserDataName>
|
||||||
|
<MetadataPath>/var/lib/jellyfin/metadata</MetadataPath>
|
||||||
|
<PreferredMetadataLanguage>en</PreferredMetadataLanguage>
|
||||||
|
<MetadataCountryCode>US</MetadataCountryCode>
|
||||||
|
<SortReplaceCharacters>
|
||||||
|
<string>.</string>
|
||||||
|
<string>+</string>
|
||||||
|
<string>%</string>
|
||||||
|
</SortReplaceCharacters>
|
||||||
|
<SortRemoveCharacters>
|
||||||
|
<string>,</string>
|
||||||
|
<string>&</string>
|
||||||
|
<string>-</string>
|
||||||
|
<string>{</string>
|
||||||
|
<string>}</string>
|
||||||
|
<string>'</string>
|
||||||
|
</SortRemoveCharacters>
|
||||||
|
<SortRemoveWords>
|
||||||
|
<string>the</string>
|
||||||
|
<string>a</string>
|
||||||
|
<string>an</string>
|
||||||
|
</SortRemoveWords>
|
||||||
|
<MinResumePct>5</MinResumePct>
|
||||||
|
<MaxResumePct>90</MaxResumePct>
|
||||||
|
<MinResumeDurationSeconds>300</MinResumeDurationSeconds>
|
||||||
|
<MinAudiobookResume>5</MinAudiobookResume>
|
||||||
|
<MaxAudiobookResume>5</MaxAudiobookResume>
|
||||||
|
<InactiveSessionThreshold>0</InactiveSessionThreshold>
|
||||||
|
<LibraryMonitorDelay>60</LibraryMonitorDelay>
|
||||||
|
<LibraryUpdateDuration>30</LibraryUpdateDuration>
|
||||||
|
<ImageSavingConvention>Legacy</ImageSavingConvention>
|
||||||
|
<MetadataOptions>
|
||||||
|
<MetadataOptions>
|
||||||
|
<ItemType>Book</ItemType>
|
||||||
|
<DisabledMetadataSavers />
|
||||||
|
<LocalMetadataReaderOrder />
|
||||||
|
<DisabledMetadataFetchers />
|
||||||
|
<MetadataFetcherOrder />
|
||||||
|
<DisabledImageFetchers />
|
||||||
|
<ImageFetcherOrder />
|
||||||
|
</MetadataOptions>
|
||||||
|
<MetadataOptions>
|
||||||
|
<ItemType>Movie</ItemType>
|
||||||
|
<DisabledMetadataSavers />
|
||||||
|
<LocalMetadataReaderOrder />
|
||||||
|
<DisabledMetadataFetchers />
|
||||||
|
<MetadataFetcherOrder />
|
||||||
|
<DisabledImageFetchers />
|
||||||
|
<ImageFetcherOrder />
|
||||||
|
</MetadataOptions>
|
||||||
|
<MetadataOptions>
|
||||||
|
<ItemType>MusicVideo</ItemType>
|
||||||
|
<DisabledMetadataSavers />
|
||||||
|
<LocalMetadataReaderOrder />
|
||||||
|
<DisabledMetadataFetchers>
|
||||||
|
<string>The Open Movie Database</string>
|
||||||
|
</DisabledMetadataFetchers>
|
||||||
|
<MetadataFetcherOrder />
|
||||||
|
<DisabledImageFetchers>
|
||||||
|
<string>The Open Movie Database</string>
|
||||||
|
</DisabledImageFetchers>
|
||||||
|
<ImageFetcherOrder />
|
||||||
|
</MetadataOptions>
|
||||||
|
<MetadataOptions>
|
||||||
|
<ItemType>Series</ItemType>
|
||||||
|
<DisabledMetadataSavers />
|
||||||
|
<LocalMetadataReaderOrder />
|
||||||
|
<DisabledMetadataFetchers />
|
||||||
|
<MetadataFetcherOrder />
|
||||||
|
<DisabledImageFetchers />
|
||||||
|
<ImageFetcherOrder />
|
||||||
|
</MetadataOptions>
|
||||||
|
<MetadataOptions>
|
||||||
|
<ItemType>MusicAlbum</ItemType>
|
||||||
|
<DisabledMetadataSavers />
|
||||||
|
<LocalMetadataReaderOrder />
|
||||||
|
<DisabledMetadataFetchers>
|
||||||
|
<string>TheAudioDB</string>
|
||||||
|
</DisabledMetadataFetchers>
|
||||||
|
<MetadataFetcherOrder />
|
||||||
|
<DisabledImageFetchers />
|
||||||
|
<ImageFetcherOrder />
|
||||||
|
</MetadataOptions>
|
||||||
|
<MetadataOptions>
|
||||||
|
<ItemType>MusicArtist</ItemType>
|
||||||
|
<DisabledMetadataSavers />
|
||||||
|
<LocalMetadataReaderOrder />
|
||||||
|
<DisabledMetadataFetchers>
|
||||||
|
<string>TheAudioDB</string>
|
||||||
|
</DisabledMetadataFetchers>
|
||||||
|
<MetadataFetcherOrder />
|
||||||
|
<DisabledImageFetchers />
|
||||||
|
<ImageFetcherOrder />
|
||||||
|
</MetadataOptions>
|
||||||
|
<MetadataOptions>
|
||||||
|
<ItemType>BoxSet</ItemType>
|
||||||
|
<DisabledMetadataSavers />
|
||||||
|
<LocalMetadataReaderOrder />
|
||||||
|
<DisabledMetadataFetchers />
|
||||||
|
<MetadataFetcherOrder />
|
||||||
|
<DisabledImageFetchers />
|
||||||
|
<ImageFetcherOrder />
|
||||||
|
</MetadataOptions>
|
||||||
|
<MetadataOptions>
|
||||||
|
<ItemType>Season</ItemType>
|
||||||
|
<DisabledMetadataSavers />
|
||||||
|
<LocalMetadataReaderOrder />
|
||||||
|
<DisabledMetadataFetchers />
|
||||||
|
<MetadataFetcherOrder />
|
||||||
|
<DisabledImageFetchers />
|
||||||
|
<ImageFetcherOrder />
|
||||||
|
</MetadataOptions>
|
||||||
|
<MetadataOptions>
|
||||||
|
<ItemType>Episode</ItemType>
|
||||||
|
<DisabledMetadataSavers />
|
||||||
|
<LocalMetadataReaderOrder />
|
||||||
|
<DisabledMetadataFetchers />
|
||||||
|
<MetadataFetcherOrder />
|
||||||
|
<DisabledImageFetchers />
|
||||||
|
<ImageFetcherOrder />
|
||||||
|
</MetadataOptions>
|
||||||
|
</MetadataOptions>
|
||||||
|
<SkipDeserializationForBasicTypes>true</SkipDeserializationForBasicTypes>
|
||||||
|
<ServerName>Actur Media Server</ServerName>
|
||||||
|
<UICulture>en-GB</UICulture>
|
||||||
|
<SaveMetadataHidden>false</SaveMetadataHidden>
|
||||||
|
<ContentTypes />
|
||||||
|
<RemoteClientBitrateLimit>0</RemoteClientBitrateLimit>
|
||||||
|
<EnableFolderView>false</EnableFolderView>
|
||||||
|
<EnableGroupingIntoCollections>false</EnableGroupingIntoCollections>
|
||||||
|
<DisplaySpecialsWithinSeasons>true</DisplaySpecialsWithinSeasons>
|
||||||
|
<CodecsUsed />
|
||||||
|
<PluginRepositories>
|
||||||
|
<RepositoryInfo>
|
||||||
|
<Name>Jellyfin Stable</Name>
|
||||||
|
<Url>https://repo.jellyfin.org/files/plugin/manifest.json</Url>
|
||||||
|
<Enabled>true</Enabled>
|
||||||
|
</RepositoryInfo>
|
||||||
|
</PluginRepositories>
|
||||||
|
<EnableExternalContentInSuggestions>true</EnableExternalContentInSuggestions>
|
||||||
|
<ImageExtractionTimeoutMs>0</ImageExtractionTimeoutMs>
|
||||||
|
<PathSubstitutions />
|
||||||
|
<EnableSlowResponseWarning>true</EnableSlowResponseWarning>
|
||||||
|
<SlowResponseThresholdMs>500</SlowResponseThresholdMs>
|
||||||
|
<CorsHosts>
|
||||||
|
<string>*</string>
|
||||||
|
</CorsHosts>
|
||||||
|
<ActivityLogRetentionDays>30</ActivityLogRetentionDays>
|
||||||
|
<LibraryScanFanoutConcurrency>0</LibraryScanFanoutConcurrency>
|
||||||
|
<LibraryMetadataRefreshConcurrency>0</LibraryMetadataRefreshConcurrency>
|
||||||
|
<RemoveOldPlugins>false</RemoveOldPlugins>
|
||||||
|
<AllowClientLogUpload>true</AllowClientLogUpload>
|
||||||
|
<DummyChapterDuration>0</DummyChapterDuration>
|
||||||
|
<ChapterImageResolution>MatchSource</ChapterImageResolution>
|
||||||
|
<ParallelImageEncodingLimit>0</ParallelImageEncodingLimit>
|
||||||
|
<CastReceiverApplications>
|
||||||
|
<CastReceiverApplication>
|
||||||
|
<Id>F007D354</Id>
|
||||||
|
<Name>Stable</Name>
|
||||||
|
</CastReceiverApplication>
|
||||||
|
<CastReceiverApplication>
|
||||||
|
<Id>6F511C87</Id>
|
||||||
|
<Name>Unstable</Name>
|
||||||
|
</CastReceiverApplication>
|
||||||
|
</CastReceiverApplications>
|
||||||
|
<TrickplayOptions>
|
||||||
|
<EnableHwAcceleration>false</EnableHwAcceleration>
|
||||||
|
<EnableHwEncoding>false</EnableHwEncoding>
|
||||||
|
<EnableKeyFrameOnlyExtraction>false</EnableKeyFrameOnlyExtraction>
|
||||||
|
<ScanBehavior>NonBlocking</ScanBehavior>
|
||||||
|
<ProcessPriority>BelowNormal</ProcessPriority>
|
||||||
|
<Interval>10000</Interval>
|
||||||
|
<WidthResolutions>
|
||||||
|
<int>320</int>
|
||||||
|
</WidthResolutions>
|
||||||
|
<TileWidth>10</TileWidth>
|
||||||
|
<TileHeight>10</TileHeight>
|
||||||
|
<Qscale>4</Qscale>
|
||||||
|
<JpegQuality>90</JpegQuality>
|
||||||
|
<ProcessThreads>1</ProcessThreads>
|
||||||
|
</TrickplayOptions>
|
||||||
|
</ServerConfiguration>
|
|
@ -1,3 +1,7 @@
|
||||||
#SPDX-License-Identifier: MIT-0
|
#SPDX-License-Identifier: MIT-0
|
||||||
---
|
---
|
||||||
# handlers file for ${REPO_NAME}
|
# handlers file for role-jellyfin
|
||||||
|
- name: restart jellyfin
|
||||||
|
service:
|
||||||
|
name: jellyfin
|
||||||
|
state: restarted
|
|
@ -1,3 +1,29 @@
|
||||||
#SPDX-License-Identifier: MIT-0
|
#SPDX-License-Identifier: MIT-0
|
||||||
---
|
---
|
||||||
# tasks file for ${REPO_NAME}
|
# tasks file for role-jellyfin
|
||||||
|
|
||||||
|
- name: install nextcloud and dependencies
|
||||||
|
ansible.builtin.package:
|
||||||
|
name:
|
||||||
|
- jellyfin-server
|
||||||
|
- jellyfin-web
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: ensure jellyfin data is owned by jellyfin user
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /var/lib/jellyfin/
|
||||||
|
recurse: yes
|
||||||
|
owner: jellyfin
|
||||||
|
group: jellyfin
|
||||||
|
|
||||||
|
- name: deploy jellyfin system.xml file
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: files/system.xml
|
||||||
|
dest: /etc/jellyfin/system.xml
|
||||||
|
notify: restart jellyfin
|
||||||
|
|
||||||
|
- name: ensure jellyfin is running
|
||||||
|
service:
|
||||||
|
name: jellyfin
|
||||||
|
state: started
|
||||||
|
enabled: yes
|
|
@ -3,4 +3,4 @@
|
||||||
- hosts: localhost
|
- hosts: localhost
|
||||||
remote_user: root
|
remote_user: root
|
||||||
roles:
|
roles:
|
||||||
- ${REPO_NAME}
|
- role-jellyfin
|
|
@ -1,3 +1,3 @@
|
||||||
#SPDX-License-Identifier: MIT-0
|
#SPDX-License-Identifier: MIT-0
|
||||||
---
|
---
|
||||||
# vars file for ${REPO_NAME}
|
# vars file for role-jellyfin
|
Loading…
Add table
Reference in a new issue