36 lines
1.3 KiB
YAML
36 lines
1.3 KiB
YAML
---
|
|
- name: Check if state is valid
|
|
ansible.builtin.fail:
|
|
msg: >-2
|
|
Unsupported state '{{ jellyfin_state }}'. Supported
|
|
states are {{ jellyfin_states | join(', ') }}.
|
|
when: jellyfin_state not in jellyfin_states
|
|
|
|
- name: Check if deployment method is valid
|
|
ansible.builtin.fail:
|
|
msg: >-2
|
|
Unsupported state '{{ jellyfin_deployment_method }}'. Supported
|
|
states are {{ jellyfin_deployment_methods | join(', ') }}.
|
|
when: jellyfin_deployment_method not in jellyfin_deployment_methods
|
|
|
|
- name: Ensure jellyfin user '{{ jellyfin_user }}' is {{ jellyfin_state }}
|
|
ansible.builtin.user:
|
|
name: "{{ jellyfin_user }}"
|
|
state: "{{ jellyfin_state }}"
|
|
system: "{{ jellyfin_user_system | default(true, true) }}"
|
|
register: jellyfin_user_info
|
|
|
|
- name: Ensure host directories for jellyfin are {{ jellyfin_state }}
|
|
ansible.builtin.file:
|
|
path: "{{ item.path }}"
|
|
state: >-2
|
|
{{ (jellyfin_state == 'present') | ternary('directory', 'absent') }}
|
|
owner: "{{ item.owner | default(jellyfin_uid) }}"
|
|
group: "{{ item.group | default(jellyfin_gid) }}"
|
|
mode: "{{ item.mode }}"
|
|
loop: "{{ jellyfin_host_directories }}"
|
|
|
|
- name: Ensure jellyfin is deployed using {{ jellyfin_deployment_method }}
|
|
ansible.builtin.include_tasks:
|
|
file: "deploy-{{ jellyfin_deployment_method }}.yml"
|