diff --git a/config/ansible/tasks/servers/server.yml b/config/ansible/tasks/servers/server.yml index e2ce810..1ee7813 100644 --- a/config/ansible/tasks/servers/server.yml +++ b/config/ansible/tasks/servers/server.yml @@ -34,7 +34,9 @@ - name: immich enabled: true - name: gitea - enabled: false + enabled: true + - name: plex + enabled: true when: - datapool_check is defined - datapool_check.rc is defined diff --git a/config/ansible/tasks/servers/services/plex/docker-compose.yml.j2 b/config/ansible/tasks/servers/services/plex/docker-compose.yml.j2 new file mode 100644 index 0000000..6fd5108 --- /dev/null +++ b/config/ansible/tasks/servers/services/plex/docker-compose.yml.j2 @@ -0,0 +1,48 @@ +services: + plex: + image: plexinc/pms-docker:latest + container_name: plex + environment: + - PUID=1000 + - PGID=100 + - VERSION=docker + - PLEX_CLAIM={{ lookup('community.general.onepassword', 'muemvbrp4f2dnk2jfuy4i6jtd4', vault='j7nmhqlsjmp2r6umly5t75hzb4', field='PLEX_CLAIM') }} + volumes: + - {{plex_data_dir}}/pms_config:/config + - /tmp/plex-transcode:/transcode + - /mnt/object_storage/movies:/movies + - /mnt/object_storage/tvshows:/tvshows + - /mnt/object_storage/music:/music + restart: unless-stopped + ports: + - 32400:32400/tcp + - 3005:3005/tcp + - 8324:8324/tcp + - 32469:32469/tcp + - 32410:32410/udp + - 32412:32412/udp + - 32413:32413/udp + - 32414:32414/udp + networks: + - caddy_network + + tautulli: + image: lscr.io/linuxserver/tautulli:latest + container_name: tautulli + environment: + - PUID=1000 + - PGID=100 + - TZ=Europe/Amsterdam + volumes: + - {{plex_data_dir}}/tautulli_config:/config + ports: + - 8181:8181 + restart: unless-stopped + networks: + - caddy_network + +networks: + caddy_network: + external: true + name: caddy_default + diff --git a/config/ansible/tasks/servers/services/plex/plex.yml b/config/ansible/tasks/servers/services/plex/plex.yml new file mode 100644 index 0000000..da0a7ce --- /dev/null +++ b/config/ansible/tasks/servers/services/plex/plex.yml @@ -0,0 +1,33 @@ +--- +- name: Deploy Plex service + block: + - name: Set Plex directories + ansible.builtin.set_fact: + plex_data_dir: "/mnt/services/plex" + plex_service_dir: "{{ ansible_env.HOME }}/services/plex" + + - name: Create Plex directories + ansible.builtin.file: + path: "{{ plex_dir }}" + state: directory + mode: "0755" + loop: + - "{{ plex_data_dir }}" + - "{{ plex_service_dir }}" + loop_control: + loop_var: plex_dir + + - name: Deploy Plex docker-compose.yml + ansible.builtin.template: + src: docker-compose.yml.j2 + dest: "{{ plex_service_dir }}/docker-compose.yml" + mode: "0644" + register: plex_compose + + - name: Stop Plex service + ansible.builtin.command: docker compose -f "{{ plex_service_dir }}/docker-compose.yml" down --remove-orphans + when: plex_compose.changed or plex_act_runner_config.changed + + - name: Start Plex service + ansible.builtin.command: docker compose -f "{{ plex_service_dir }}/docker-compose.yml" up -d + when: plex_compose.changed or plex_act_runner_config.changed