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"
 |