feat: initial installation role for sonarr
This commit is contained in:
63
tasks/main.yml
Normal file
63
tasks/main.yml
Normal file
@@ -0,0 +1,63 @@
|
||||
---
|
||||
- name: Assert Debian-based distribution
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- ansible_os_family == 'Debian'
|
||||
fail_msg: "ansible-role-sonarr only supports Debian-based distributions"
|
||||
|
||||
- name: Install prerequisites
|
||||
ansible.builtin.apt:
|
||||
name:
|
||||
- gnupg
|
||||
- ca-certificates
|
||||
- curl
|
||||
state: present
|
||||
update_cache: true
|
||||
become: true
|
||||
|
||||
- name: Create keyrings directory
|
||||
ansible.builtin.file:
|
||||
path: /etc/apt/keyrings
|
||||
state: directory
|
||||
mode: '0755'
|
||||
become: true
|
||||
|
||||
- name: Download Sonarr signing key
|
||||
ansible.builtin.shell:
|
||||
cmd: >
|
||||
curl -fsSL
|
||||
"https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x2009837CBFFD68F45BC180471F4F90DE2A9B4BF8"
|
||||
| gpg --dearmor -o /etc/apt/keyrings/sonarr.gpg
|
||||
creates: /etc/apt/keyrings/sonarr.gpg
|
||||
become: true
|
||||
|
||||
- name: Set signing key permissions
|
||||
ansible.builtin.file:
|
||||
path: /etc/apt/keyrings/sonarr.gpg
|
||||
mode: '0644'
|
||||
become: true
|
||||
|
||||
- name: Add Sonarr apt repository
|
||||
ansible.builtin.copy:
|
||||
content: "deb [signed-by=/etc/apt/keyrings/sonarr.gpg] https://apt.sonarr.tv/debian {{ sonarr_apt_repo_release }} main\n"
|
||||
dest: /etc/apt/sources.list.d/sonarr.list
|
||||
mode: '0644'
|
||||
become: true
|
||||
|
||||
- name: Install Sonarr
|
||||
ansible.builtin.apt:
|
||||
name: sonarr
|
||||
state: present
|
||||
update_cache: true
|
||||
become: true
|
||||
environment:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
SONARR_USER: "{{ sonarr_user }}"
|
||||
SONARR_GROUP: "{{ sonarr_group }}"
|
||||
|
||||
- name: Enable and start Sonarr service
|
||||
ansible.builtin.systemd:
|
||||
name: sonarr
|
||||
enabled: "{{ sonarr_service_enabled }}"
|
||||
state: "{{ sonarr_service_state }}"
|
||||
become: true
|
||||
Reference in New Issue
Block a user