diff options
| author | Kumar Damani <me@kumardamani.net> | 2023-08-11 16:28:54 +0000 |
|---|---|---|
| committer | Kumar Damani <me@kumardamani.net> | 2023-08-11 16:28:54 +0000 |
| commit | 1f321db8949b3aeb80afdd7a94e92b7743c3e275 (patch) | |
| tree | f48b7040615af1bda263faa4d2657636c77ba2a4 /ansible/roles/plex/tasks/setup.yaml | |
| parent | 9bae899e227e4899a5ee629bf305a00a39044bc2 (diff) | |
Work
Diffstat (limited to 'ansible/roles/plex/tasks/setup.yaml')
| -rw-r--r-- | ansible/roles/plex/tasks/setup.yaml | 55 |
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 |
