xoxys.jellyfin/tasks/install.yml

88 lines
2.5 KiB
YAML
Raw Normal View History

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 15:48:02 +00:00
- "{{ jellyfin_src_dir }}"
2019-02-01 21:02:36 +00:00
- "{{ jellyfin_conf_dir }}"
- "{{ jellyfin_data_dir }}"
- "{{ jellyfin_log_dir }}"
- "{{ jellyfin_cache_dir }}"
2019-02-01 21:02:36 +00:00
become: True
become_user: root
- block:
2021-04-18 15:48:02 +00:00
- name: Ensure service is stopped before upgrade
systemd:
state: stopped
daemon_reload: yes
enabled: yes
name: jellyfin
failed_when: "unused_disable is failed and ('find' not in unused_disable.msg and 'found' not in unused_disable.msg)"
2021-04-18 15:48:02 +00:00
- name: Delete current version
file:
path: "{{ jellyfin_src_dir }}"
state: absent
become: True
become_user: root
when: jellyfin_version is version(jellyfin_current_version, ">") or jellyfin_current_version is version('0.0.0', "=")
- 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 15:48:02 +00:00
dest: "{{ jellyfin_src_dir }}"
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
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"
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