From 45aee7ecce409a7f80932c96bac0a1dec3ca5827 Mon Sep 17 00:00:00 2001 From: Maddox Date: Mon, 26 Jan 2026 12:09:57 +0000 Subject: [PATCH] Migrate watchstate + jellyseerr to replicant --- .../replicant/jellyseerr/docker-compose.yml | 26 ++++++++++++++ .../replicant/watchstate/docker-compose.yml | 31 +++++++++++++++++ playbooks/deploy-jellyseerr.yml | 32 +++++++++++++++++ playbooks/deploy-watchstate.yml | 34 +++++++++++++++++++ 4 files changed, 123 insertions(+) create mode 100644 compose-files/replicant/jellyseerr/docker-compose.yml create mode 100644 compose-files/replicant/watchstate/docker-compose.yml create mode 100644 playbooks/deploy-jellyseerr.yml create mode 100644 playbooks/deploy-watchstate.yml diff --git a/compose-files/replicant/jellyseerr/docker-compose.yml b/compose-files/replicant/jellyseerr/docker-compose.yml new file mode 100644 index 0000000..ef3d354 --- /dev/null +++ b/compose-files/replicant/jellyseerr/docker-compose.yml @@ -0,0 +1,26 @@ +services: + jellyseerr: + image: fallenbagel/jellyseerr:latest + container_name: jellyseerr + environment: + - LOG_LEVEL=info + - TZ=America/Indiana/Indianapolis + volumes: + - ./config:/app/config + ports: + - "5055:5055" + restart: unless-stopped + networks: + - proxy + deploy: + resources: + limits: + memory: 1G + cpus: '1.0' + labels: + - "autoheal=true" + - "com.centurylinklabs.watchtower.enable=true" + +networks: + proxy: + external: true diff --git a/compose-files/replicant/watchstate/docker-compose.yml b/compose-files/replicant/watchstate/docker-compose.yml new file mode 100644 index 0000000..1d6a857 --- /dev/null +++ b/compose-files/replicant/watchstate/docker-compose.yml @@ -0,0 +1,31 @@ +services: + watchstate: + image: ghcr.io/arabcoders/watchstate:latest + container_name: watchstate + user: "1000:1000" + environment: + - TZ=America/Indiana/Indianapolis + volumes: + - ./config:/config:rw + ports: + - "8585:8080" + restart: unless-stopped + networks: + - proxy + deploy: + resources: + limits: + memory: 512M + cpus: '1.0' + labels: + - "autoheal=true" + - "com.centurylinklabs.watchtower.enable=true" + healthcheck: + test: ["CMD-SHELL", "curl -f http://localhost:8080/v1/api/system/healthcheck || exit 1"] + interval: 30s + timeout: 10s + retries: 3 + +networks: + proxy: + external: true diff --git a/playbooks/deploy-jellyseerr.yml b/playbooks/deploy-jellyseerr.yml new file mode 100644 index 0000000..197524f --- /dev/null +++ b/playbooks/deploy-jellyseerr.yml @@ -0,0 +1,32 @@ +--- +- name: Deploy Jellyseerr to replicant + hosts: replicant + vars: + service_name: jellyseerr + service_dir: /home/maddox/docker/appdata/{{ service_name }} + compose_src: "{{ playbook_dir }}/../compose-files/replicant/{{ service_name }}" + + tasks: + - name: Create service directory + ansible.builtin.file: + path: "{{ service_dir }}" + state: directory + mode: '0755' + + - name: Create config subdirectory + ansible.builtin.file: + path: "{{ service_dir }}/config" + state: directory + mode: '0755' + + - name: Copy docker-compose.yml + ansible.builtin.copy: + src: "{{ compose_src }}/docker-compose.yml" + dest: "{{ service_dir }}/docker-compose.yml" + mode: '0644' + + - name: Deploy container + community.docker.docker_compose_v2: + project_src: "{{ service_dir }}" + state: present + pull: always diff --git a/playbooks/deploy-watchstate.yml b/playbooks/deploy-watchstate.yml new file mode 100644 index 0000000..7dfa90b --- /dev/null +++ b/playbooks/deploy-watchstate.yml @@ -0,0 +1,34 @@ +--- +- name: Deploy Watchstate to replicant + hosts: replicant + vars: + service_name: watchstate + service_dir: /home/maddox/docker/appdata/{{ service_name }} + compose_src: "{{ playbook_dir }}/../compose-files/replicant/{{ service_name }}" + + tasks: + - name: Create service directory + ansible.builtin.file: + path: "{{ service_dir }}" + state: directory + mode: '0755' + + - name: Create config subdirectory + ansible.builtin.file: + path: "{{ service_dir }}/config" + state: directory + owner: "1000" + group: "1000" + mode: '0755' + + - name: Copy docker-compose.yml + ansible.builtin.copy: + src: "{{ compose_src }}/docker-compose.yml" + dest: "{{ service_dir }}/docker-compose.yml" + mode: '0644' + + - name: Deploy container + community.docker.docker_compose_v2: + project_src: "{{ service_dir }}" + state: present + pull: always