From 237b07e76cb551c6aacbea1424ae70e1fdc13b66 Mon Sep 17 00:00:00 2001 From: Mike Wilson Date: Wed, 3 Sep 2025 11:37:21 -0400 Subject: [PATCH] Switch from overseerr to jellyseerr --- ansible/roles/jellyseerr/tasks/main.yml | 22 ++++++++++++++++ .../jellyseerr/templates/docker-compose.yml | 25 +++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 ansible/roles/jellyseerr/tasks/main.yml create mode 100644 ansible/roles/jellyseerr/templates/docker-compose.yml diff --git a/ansible/roles/jellyseerr/tasks/main.yml b/ansible/roles/jellyseerr/tasks/main.yml new file mode 100644 index 0000000..ebf6e65 --- /dev/null +++ b/ansible/roles/jellyseerr/tasks/main.yml @@ -0,0 +1,22 @@ +- name: Create install directory + file: + path: "{{ install_directory }}/{{ role_name }}" + state: directory + owner: "{{ docker_user }}" + mode: "{{ docker_compose_directory_mask }}" + become: true + +- name: Copy docker-compose file to destination + template: + src: docker-compose.yml + dest: "{{ install_directory }}/{{ role_name }}/docker-compose.yml" + owner: "{{ docker_user }}" + mode: "{{ docker_compose_file_mask }}" + validate: docker compose -f %s config + become: true + +- name: Start docker container + community.docker.docker_compose_v2: + project_src: "{{ install_directory }}/{{ role_name }}" + pull: always + remove_orphans: yes diff --git a/ansible/roles/jellyseerr/templates/docker-compose.yml b/ansible/roles/jellyseerr/templates/docker-compose.yml new file mode 100644 index 0000000..e6d7ed4 --- /dev/null +++ b/ansible/roles/jellyseerr/templates/docker-compose.yml @@ -0,0 +1,25 @@ +networks: + traefik: + external: true + +services: + {{ role_name }}: + container_name: "{{ role_name }}" + image: fallenbagel/jellyseerr:latest + restart: unless-stopped + networks: + - traefik + environment: + - LOG_LEVEL=debug + - "TZ={{ timezone }}" + volumes: + - "{{ data_dir }}/{{ role_name }}:/app/config" + healthcheck: + test: wget --no-verbose --tries=1 --spider http://localhost:5055/api/v1/status || exit 1 + start_period: 20s + timeout: 3s + interval: 15s + retries: 3 + labels: + traefik.enable: true + traefik.http.routers.{{ role_name }}.rule: "Host(`requests.{{ personal_domain }}`)"