Skip to content

Ansible playbooks to automate the deployment of Jellyfin media server

License

Notifications You must be signed in to change notification settings

DudeCalledBro/jellyfin

Repository files navigation

Jellyfin

CI

This repository contains the Ansible code for deploying Jellyfin using Docker.

Prerequisites

  • Ensure you have Ansible installed (e.g. pip3 install ansible)
  • Ensure Docker is installed on the Jellyfin server (you may want to checkout my ansible-docker-role)
  • Optional: Set up a reverse proxy for your Jellyfin instance (you may want to checkout my traefik-deployment)

Installation

  1. Copy the example.inventory.yml file to inventory.yml. You also have to setup a variables file for your configuration. Therefore you have to copy example.config.yml to config.yml.

  2. Configure the setup (config.yml), such as the Traefik reverse proxy.

    # Docker Compose override configuration for Jellyfin container
    jellyfin_docker_override:
      services:
        jellyfin:
          labels:
            - traefik.enable=true
            - traefik.http.routers.jellyfin.rule=Host(`jellyfin.local`)
            - traefik.http.routers.jellyfin.entrypoints=websecure
            - traefik.http.routers.jellyfin.tls=true
            - traefik.http.services.jellyfin.loadBalancer.server.port=8096
          networks:
            - traefik
    
      # Custom networking in your docker compose override
      networks:
        traefik:
          name: traefik
  3. Run the Ansible playbook to deploy Jellyfin

    ansible-playbook main.yml

You may have to enter a password to SSH into the target system, so you need to add -k after the ansible-playbook command.

License

Copyright © 2024 Niclas Spreng

Licensed under the MIT license.

About

Ansible playbooks to automate the deployment of Jellyfin media server

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project