aboutsummaryrefslogtreecommitdiff
path: root/ansible/roles/plex/tasks/setup.yaml
diff options
context:
space:
mode:
authorKumar Damani <me@kumardamani.net>2023-08-11 16:28:54 +0000
committerKumar Damani <me@kumardamani.net>2023-08-11 16:28:54 +0000
commit1f321db8949b3aeb80afdd7a94e92b7743c3e275 (patch)
treef48b7040615af1bda263faa4d2657636c77ba2a4 /ansible/roles/plex/tasks/setup.yaml
parent9bae899e227e4899a5ee629bf305a00a39044bc2 (diff)
Work
Diffstat (limited to 'ansible/roles/plex/tasks/setup.yaml')
-rw-r--r--ansible/roles/plex/tasks/setup.yaml55
1 files changed, 55 insertions, 0 deletions
diff --git a/ansible/roles/plex/tasks/setup.yaml b/ansible/roles/plex/tasks/setup.yaml
new file mode 100644
index 0000000..de0eb69
--- /dev/null
+++ b/ansible/roles/plex/tasks/setup.yaml
@@ -0,0 +1,55 @@
+---
+
+- name: 'setup | Ensure required vars are set'
+ ansible.builtin.assert:
+ that:
+ - item | mandatory
+ loop:
+ - '{{ plex_nas_mount_path }}'
+ no_log: true
+
+- name: 'setup | Install required pkgs'
+ ansible.builtin.package:
+ name:
+ - 'nfs-common'
+ - 'curl'
+ - 'gnupg'
+
+- name: 'setup | Create the mount dir'
+ ansible.builtin.file:
+ path: '/mnt/data'
+ state: 'directory'
+ mode: '755'
+
+- name: 'setup | Setup the NFS mount'
+ ansible.posix.mount:
+ src: '{{ plex_nas_mount_path }}'
+ path: '/mnt/data'
+ state: 'mounted'
+ fstype: 'nfs'
+
+- name: 'setup | Get the Plex signed keys'
+ ansible.builtin.shell:
+ # noqa: risky-shell-pipe command-instead-of-module
+ cmd: >
+ curl -sS https://downloads.plex.tv/plex-keys/PlexSign.key | gpg --dearmor | tee /usr/share/keyrings/plex.gpg > /dev/null
+ creates: '/usr/share/keyrings/plex.gpg'
+
+- name: 'setup | Set the Plex sources'
+ ansible.builtin.copy:
+ dest: '/etc/apt/sources.list.d/plexmediaserver.list'
+ content: |
+ deb [signed-by=/usr/share/keyrings/plex.gpg] https://downloads.plex.tv/repo/deb public main
+ mode: '644'
+
+- name: 'setup | Install the package'
+ ansible.builtin.apt:
+ name: 'plexmediaserver'
+ state: 'present'
+ update_cache: true
+
+- name: 'setup | Start the service'
+ ansible.builtin.service:
+ name: 'plexmediaserver'
+ state: 'stopped'
+ enabled: true