Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sleepy-nols/ansible-jellyfin
Ansible role to install and configure Jellyfin on Debian.
https://github.com/sleepy-nols/ansible-jellyfin
ansible ansible-role jellyfin
Last synced: 10 days ago
JSON representation
Ansible role to install and configure Jellyfin on Debian.
- Host: GitHub
- URL: https://github.com/sleepy-nols/ansible-jellyfin
- Owner: sleepy-nols
- License: gpl-3.0
- Created: 2023-11-20T11:47:01.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2023-12-18T20:31:44.000Z (11 months ago)
- Last Synced: 2023-12-19T04:06:54.047Z (11 months ago)
- Topics: ansible, ansible-role, jellyfin
- Language: Jinja
- Homepage:
- Size: 58.6 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ansible-jellyfin
Ansible role to install and configure [Jellyfin](https://jellyfin.org/) 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```yml
jellyfin_user: "jellyfin"
```
User that Jellyfin runs as.```yml
jellyfin_skip_restart: false
```
Skip restarting Jellyfin, even on config change.---
### fail2ban```yml
jellyfin_enable_fail2ban: false
```
Enable fail2ban integration for the Jellyfin login.```yml
jellyfin_fail2ban_ports:
- "80"
- "443"
```
Set these if you use custom ports for Jellyfin.```yml
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```yml
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.```yml
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.```yml
jellyfin_additional_opts: str
```
**Optional:** Additional Jellyfin options as in [Main Configuration Options](https://jellyfin.org/docs/general/administration/configuration#main-configuration-options)```yml
jellyfin_service: bool
```
**Optional:** Run Jellyfin as a headless service.```yml
jellyfin_nowebapp: bool
```
**Optional:** Run Jellyfin without the web app.---
### Advanced```yml
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.```yml
jellyfin_malloc_trim_threshold: 131072
```
Disable glibc dynamic heap adjustment.---
## InstallingInstall via Ansible Galaxy or clone the Repo
```
ansible-galaxy role install sleepy-nols.jellyfingit clone [email protected]:sleepy-nols/ansible-jellyfin.git
```
---
## Example Playbook```yml
- hosts: jellyfin-hosts
roles:
- sleepy-nols.jellyfin
```---
## ContributingContributions on are welcome. :)
---
## License
GPLv3