diff --git a/roles/torrserver/tasks/main.yml b/roles/torrserver/tasks/main.yml index a240fbd..dd15459 100644 --- a/roles/torrserver/tasks/main.yml +++ b/roles/torrserver/tasks/main.yml @@ -1,37 +1,43 @@ --- -- name: Create torrserver directories +- name: Ensure torrserver base directory exists + file: + path: "{{ torrserver_base_dir }}" + state: directory + owner: 1000 + group: 1000 + mode: "0755" + +- name: Ensure config and torrents directories exist file: path: "{{ item }}" state: directory owner: 1000 group: 1000 - mode: '0755' + mode: "0755" loop: - - "{{ torrserver_base_dir }}" - "{{ torrserver_config_dir }}" - "{{ torrserver_torrents_dir }}" -- name: Render docker-compose.yml +- name: Deploy docker-compose.yml for TorrServer template: src: docker-compose.yml.j2 dest: "{{ torrserver_base_dir }}/docker-compose.yml" owner: root group: root - mode: '0644' + mode: "0644" -- name: Deploy torrserver via docker-compose - docker_compose_v2: - project_src: "{{ torrserver_base_dir }}" - project_name: torrserver - state: present - pull: yes - recreate: smart - register: _compose_result +- name: Start/restart TorrServer via docker compose + shell: | + cd "{{ torrserver_base_dir }}" + docker compose up -d --pull always + args: + executable: /bin/bash + register: _torrserver_up + changed_when: "'Started' in _torrserver_up.stdout or 'recreated' in _torrserver_up.stdout" -- name: Wait for torrserver UI to respond +- name: Wait for TorrServer UI to respond uri: url: "http://{{ int_ip }}:{{ torrserver_port }}" - method: GET status_code: 200 timeout: 10 register: _check