jellyfin
ansible-jellyfin
Ansible role to install and configure Jellyfin on Debian-like systems.
The default deployment without any variables changed is not a vanilla deployment as several quality of life improvements are made.
Features:
- fully configurable config files (ansible management of settings normally tweaked in webUI)
- fail2ban support
- logrotate support
- deployment of webserver(reverse-proxy) (currently only nginx)
- configuration of ssl with webserver
Role Variables and Defaults
jellyfin_user: "jellyfin"
User that Jellyfin runs as.
jellyfin_skip_restart: false
Skip restarting Jellyfin, even on config change.
fail2ban
jellyfin_enable_fail2ban: false
Enable fail2ban integration for the Jellyfin login.
jellyfin_fail2ban_ports:
- "80"
- "443"
Set these if you use custom ports for Jellyfin.
jellyfin_fail2ban_maxretry: "3"
jellyfin_fail2ban_bantime: "6000"
jellyfin_fail2ban_findtime: "600"
Configuration of fail2ban parameters. You probably want to tweak these according to your userbase and threatmodel.
Jellyfin
jellyfin_cache_dir: "/var/cache/jellyfin"
jellyfin_log_dir: "/var/log/jellyfin"
jellyfin_config_dir: "/etc/jellyfin"
jellyfin_data_dir: "/var/lib/jellyfin"
Jellyfin directories.
jellyfin_restart_bin: "/usr/lib/jellyfin/restart.sh"
jellyfin_ffmpeg_bin: "/usr/lib/jellyfin-ffmpeg/ffmpeg"
jellyfin_web_bin: "/usr/share/jellyfin/web"
Jellyfin binary paths.
jellyfin_additional_opts: str
Optional: Additional Jellyfin options as in Main Configuration Options
jellyfin_service: bool
Optional: Run Jellyfin as a headless service.
jellyfin_nowebapp: bool
Optional: Run Jellyfin without the web app.
Advanced
jellyfin_complus_gcserver: int
Optional: Run Jellyfin with ASP.NET Server Garbage Collection (uses more RAM and less CPU than Workstation GC). 0=Workstation, 1=Server.
jellyfin_malloc_trim_threshold: 131072
Disable glibc dynamic heap adjustment.
Installing
Install via Ansible Galaxy or clone the Repo
ansible-galaxy role install sleepy-nols.jellyfin
git clone [email protected]:sleepy-nols/ansible-jellyfin.git
Example Playbook
- hosts: jellyfin-hosts
roles:
- sleepy-nols.jellyfin
Contributing
Contributions on are welcome. :)
License
GPLv3
ansible-galaxy install sleepy-nols/ansible-jellyfin