• Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below
  • Forum
  • Website
  • GitHub
  • Status
  • Translation
  • Features
  • Team
  • Rules
  • Help
  • Feeds
User Links
  • Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below

    Useful Links Forum Website GitHub Status Translation Features Team Rules Help Feeds
    Jellyfin Forum Support Guides, Walkthroughs & Tutorials Customize Jellyfin with Ansible!

     
    • 1 Vote(s) - 5 Average

    Customize Jellyfin with Ansible!

    Creating an Ansible playbook for Linux systems to make Jellyfin your own.
    LeviSnoot
    Offline

    Junior Member

    Posts: 20
    Threads: 3
    Joined: 2023 Sep
    Reputation: 1
    Country:Sweden
    #1
    2024-06-04, 12:34 AM
    Greetings!

    I'm sure many of you are aware of BobHasNoSoul's excellent GitHub repository full of little tweaks like changing Jellyfin's page title to anything you'd like. If not, you can have a look at it here and thank Bob & contributors later!

    I personally have contributed to the project in the past when a new Jellyfin version has broken one of the mods etc.

    As 10.9 rolled around, we noticed a good amount of changes in the code which ended up breaking many of these mods.
    As we've worked on updating the repo for 10.9.x (some of which you can preview here), I decided to shoehorn in another improvement to the repo; Ansible.

    The major downside to doing these kinds of client modifications is that whenever there's an update to Jellyfin, they need to be applied again, manually.
    You can probably imagine how tedious this gets when you use a good number of mods, and this is where Ansible comes in.

    Using Ansible, we can remove this headache by automating the process. 
    I wrote a document detailing how to acheive this which has now been merged into the repo (this document is fully compatible with 10.9.x).
    It is important as always to note that neither me nor BobHasNoSoul take any responsibility for the code you execute on your machines. 
    Read and understand what you're doing before performing any changes to your environment.

    You can read the guide for modifying Jellyfin with the use of Ansible here:
    https://github.com/BobHasNoSoul/jellyfin...ansible.md
    JF Server Specs:
    • CPU: Intel Core i5-11400
    • Motherboard: ASRock H510M-ITX/ac
    • RAM: G.Skill 16GB (2x8GB) Value 2666MHz CL19 DDR4
    • PSU: Silverstone SX300-B 80+ Bronze SFX
    • OS: Debian 12
    • JF: 10.10.6
    pcm
    Offline

    Member

    Posts: 62
    Threads: 4
    Joined: 2024 May
    Reputation: 0
    Country:Uzbekistan
    #2
    2024-06-06, 12:54 AM
    thanks for this! will definitely take a look at this! this should make managing multiple instances a breeze
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,375
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #3
    2024-06-06, 02:25 AM
    I've had Ansible on to-learn list for a while. Will add this to the doc.
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    chuanqi
    Offline

    Junior Member

    Posts: 1
    Threads: 0
    Joined: 2024 Jun
    Reputation: 0
    #4
    2024-06-19, 01:38 PM
    Thank you! It's probably not that simple/possible to do this if you're running Jellyfin inside a Docker Container right?
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,375
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #5
    2024-06-19, 03:12 PM
    (2024-06-19, 01:38 PM)chuanqi Wrote: Thank you! It's probably not that simple/possible to do this if you're running Jellyfin inside a Docker Container right?

    I don't see can't also handle Docker.  When you setup Jellyfin in Docker you should be mounting a host path for /config and Ansible would be modifying those.  Having Ansible modify config files would not be different.  Just in a different location.
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    LeviSnoot
    Offline

    Junior Member

    Posts: 20
    Threads: 3
    Joined: 2023 Sep
    Reputation: 1
    Country:Sweden
    #6
    2024-06-25, 08:00 PM
    (2024-06-19, 03:12 PM)TheDreadPirate Wrote:
    (2024-06-19, 01:38 PM)chuanqi Wrote: Thank you! It's probably not that simple/possible to do this if you're running Jellyfin inside a Docker Container right?

    I don't see can't also handle Docker.  When you setup Jellyfin in Docker you should be mounting a host path for /config and Ansible would be modifying those.  Having Ansible modify config files would not be different.  Just in a different location.

    Correct, using volume mounts should take care of any file related actions.

    As for managing the docker containers using Ansible, it is certainly doable, but not something I've delved into myself. You would need to install the docker modules to Ansible using the following command:

    Code:
    ansible-galaxy collection install community.docker

    Then your host machine needs to have the Docker SDK for Python installed.

    Documentation for all of this can be found here: https://docs.ansible.com/ansible/latest/...guide.html
    If it were me, I would create a task workflow like this:

    Stop container > Pull latest jellyfin docker image > Start container > Stop container > Any steps to modify Jellyfin > Start container

    Hope that helps.
    JF Server Specs:
    • CPU: Intel Core i5-11400
    • Motherboard: ASRock H510M-ITX/ac
    • RAM: G.Skill 16GB (2x8GB) Value 2666MHz CL19 DDR4
    • PSU: Silverstone SX300-B 80+ Bronze SFX
    • OS: Debian 12
    • JF: 10.10.6
    LeviSnoot
    Offline

    Junior Member

    Posts: 20
    Threads: 3
    Joined: 2023 Sep
    Reputation: 1
    Country:Sweden
    #7
    2024-11-05, 12:54 PM
    There's a pretty significant update which now makes the ansible solution even more portable across versions!

    I have implemented functionality that essentially greps the files with variable file names by their known strings, so now you shouldn't need to update the script unless one of the values in the javascript itself changes!
    I have a pending PR for this if you want to try it out right away, I expect it will be merged as soon as Bob has time to review it.
    JF Server Specs:
    • CPU: Intel Core i5-11400
    • Motherboard: ASRock H510M-ITX/ac
    • RAM: G.Skill 16GB (2x8GB) Value 2666MHz CL19 DDR4
    • PSU: Silverstone SX300-B 80+ Bronze SFX
    • OS: Debian 12
    • JF: 10.10.6
    1
    « Next Oldest | Next Newest »

    Users browsing this thread: 1 Guest(s)


    • View a Printable Version
    • Subscribe to this thread
    Forum Jump:

    Home · Team · Help · Contact
    © Designed by D&D - Powered by MyBB
    L


    Jellyfin

    The Free Software Media System

    Linear Mode
    Threaded Mode