2019-02-01 21:02:36 +00:00
|
|
|
---
|
|
|
|
- name: Prepare base folders
|
|
|
|
file:
|
|
|
|
path: "{{ item }}"
|
|
|
|
state: directory
|
|
|
|
owner: "{{ jellyfin_user }}"
|
|
|
|
group: "{{ jellyfin_user }}"
|
|
|
|
mode: 0750
|
|
|
|
loop:
|
|
|
|
- "{{ jellyfin_base_dir }}"
|
2021-04-18 16:42:56 +00:00
|
|
|
- "{{ jellyfin_src_dir }}/{{ jellyfin_version }}"
|
2019-02-01 21:02:36 +00:00
|
|
|
- "{{ jellyfin_conf_dir }}"
|
|
|
|
- "{{ jellyfin_data_dir }}"
|
|
|
|
- "{{ jellyfin_log_dir }}"
|
2020-03-14 13:25:13 +00:00
|
|
|
- "{{ jellyfin_cache_dir }}"
|
2019-02-01 21:02:36 +00:00
|
|
|
become: True
|
|
|
|
become_user: root
|
|
|
|
|
2021-04-18 15:48:02 +00:00
|
|
|
- block:
|
|
|
|
- name: Install Jellyfin server
|
2019-02-01 21:02:36 +00:00
|
|
|
unarchive:
|
2020-08-19 17:49:31 +00:00
|
|
|
src: https://repo.jellyfin.org/releases/server/portable/versions/stable/combined/{{ jellyfin_version }}/jellyfin_{{ jellyfin_version }}.tar.gz
|
2021-04-18 16:42:56 +00:00
|
|
|
dest: "{{ jellyfin_src_dir }}/{{ jellyfin_version }}"
|
2019-02-01 21:02:36 +00:00
|
|
|
extra_opts:
|
2021-04-18 15:48:02 +00:00
|
|
|
- --strip-components=2
|
2019-02-01 21:02:36 +00:00
|
|
|
remote_src: yes
|
2021-04-18 16:42:56 +00:00
|
|
|
|
|
|
|
- name: Link 'v{{ jellyfin_version }}' to latest
|
|
|
|
file:
|
|
|
|
src: "{{ jellyfin_src_dir }}/{{ jellyfin_version }}/jellyfin"
|
|
|
|
dest: "{{ jellyfin_base_dir }}/jellyfin-latest"
|
|
|
|
state: link
|
|
|
|
notify: __jellyfin_restart
|
|
|
|
|
|
|
|
- name: Remove old version
|
|
|
|
file:
|
|
|
|
path: "{{ jellyfin_src_dir }}/{{ jellyfin_current_version }}"
|
|
|
|
state: absent
|
2019-02-01 21:02:36 +00:00
|
|
|
become: True
|
|
|
|
become_user: "{{ jellyfin_user }}"
|
2019-02-01 23:32:40 +00:00
|
|
|
when: jellyfin_version is version(jellyfin_current_version, ">") or jellyfin_current_version is version('0.0.0', "=")
|
2019-02-01 21:02:36 +00:00
|
|
|
|
2019-02-02 01:02:17 +00:00
|
|
|
- name: Deploy global config files
|
|
|
|
template:
|
|
|
|
src: "opt/jellyfin/config/{{ item }}.j2"
|
|
|
|
dest: "{{ jellyfin_conf_dir }}/{{ item }}"
|
|
|
|
mode: 0600
|
|
|
|
loop:
|
|
|
|
- "logging.json"
|
|
|
|
notify: __jellyfin_restart
|
|
|
|
become: True
|
|
|
|
become_user: "{{ jellyfin_user }}"
|
|
|
|
|
2019-02-01 22:05:15 +00:00
|
|
|
- block:
|
2021-04-18 15:48:02 +00:00
|
|
|
- name: Write Jellyfin version to custom fact
|
2019-02-01 23:04:06 +00:00
|
|
|
template:
|
|
|
|
src: etc/ansible/facts.d/jellyfin.fact.j2
|
|
|
|
dest: /etc/ansible/facts.d/jellyfin.fact
|
2019-02-01 23:32:40 +00:00
|
|
|
mode: 0644
|
2019-02-01 23:04:06 +00:00
|
|
|
|
2021-04-18 15:48:02 +00:00
|
|
|
- name: Copy sysconfig file
|
|
|
|
template:
|
|
|
|
src: "etc/sysconfig/jellyfin.j2"
|
|
|
|
dest: "{{ __jellyfin_sysconfig }}"
|
|
|
|
mode: 0600
|
|
|
|
notify: __jellyfin_restart
|
|
|
|
|
2019-02-01 22:05:15 +00:00
|
|
|
- name: Copy systemd unit file
|
|
|
|
template:
|
|
|
|
src: "etc/systemd/system/jellyfin.service.j2"
|
|
|
|
dest: "/etc/systemd/system/jellyfin.service"
|
2019-07-30 22:19:44 +00:00
|
|
|
mode: 0644
|
2019-02-01 23:47:13 +00:00
|
|
|
notify: __jellyfin_restart
|
2021-04-18 15:48:02 +00:00
|
|
|
|
|
|
|
- name: Ensure jellyfin service is up and running
|
|
|
|
systemd:
|
|
|
|
state: started
|
|
|
|
daemon_reload: yes
|
|
|
|
enabled: yes
|
|
|
|
name: jellyfin
|
2019-02-01 22:05:15 +00:00
|
|
|
become: True
|
|
|
|
become_user: root
|