blob: 0bb8b91010c9d15612c0394550af378a9d8f5659 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
- name: install packages
dnf:
name: '{{ jellyfin_packages }}'
state: present
- name: create installation directory
file:
path: '{{ jellyfin_install_dir }}'
state: directory
- name: extract tarball
unarchive:
src: '{{ jellyfin_url }}'
remote_src: yes
dest: '{{ jellyfin_install_dir }}'
extra_opts:
- '--strip-components=2'
notify: restart jellyfin
- name: generate systemd unit
template:
src: etc/systemd/system/jellyfin.service.j2
dest: /etc/systemd/system/jellyfin.service
notify: restart jellyfin
register: jellyfin_unit
- name: reload systemd units
systemd:
daemon_reload: yes
when: jellyfin_unit.changed
- name: generate sysconfig file
template:
src: etc/sysconfig/jellyfin.j2
dest: /etc/sysconfig/jellyfin
notify: restart jellyfin
- name: create runtime directories
file:
path: '{{ item.path }}'
owner: '{{ jellyfin_user }}'
group: '{{ jellyfin_user }}'
mode: '{{ item.mode }}'
state: directory
loop:
- { path: '{{ jellyfin_home }}', mode: '0750' }
- { path: '{{ jellyfin_home }}/plugins', mode: '0750' }
- { path: '{{ jellyfin_home }}/plugins/configurations', mode: '0750' }
- { path: /var/cache/jellyfin, mode: '0750' }
- { path: /var/log/jellyfin, mode: '0755' }
- { path: '{{ jellyfin_conf_dir }}', mode: '0755' }
- name: generate jellyfin network configuration
template:
src: '{{ jellyfin_conf_dir[1:] }}/network.xml.j2'
dest: '{{ jellyfin_conf_dir }}/network.xml'
owner: '{{ jellyfin_user }}'
group: '{{ jellyfin_user }}'
mode: 0644
notify: restart jellyfin
- name: generate jellyfin LDAP configuration
template:
src: '{{ jellyfin_home[1:] }}/plugins/configurations/LDAP-Auth.xml.j2'
dest: '{{ jellyfin_home }}/plugins/configurations/LDAP-Auth.xml'
owner: '{{ jellyfin_user }}'
group: '{{ jellyfin_user }}'
mode: 0640
notify: restart jellyfin
- import_tasks: freeipa.yml
- name: enable jellyfin
systemd:
name: jellyfin
state: started
enabled: yes
- name: allow apache to connect to jellyfin port
seport:
ports: '{{ jellyfin_port }}'
proto: tcp
setype: http_port_t
state: present
tags: selinux
- name: open firewall ports
firewalld:
port: '{{ item }}'
permanent: yes
immediate: yes
state: enabled
loop: '{{ jellyfin_discovery_ports }}'
tags: firewalld
|