--- - name: Validate coolify_state parameter ansible.builtin.assert: that: - coolify_state in ['present', 'absent', 'latest', 'stopped'] msg: "coolify_state must be one of: present, absent, latest, stopped" tags: always - name: Detect Coolify installation status ansible.builtin.include_tasks: detect.yaml tags: always - name: Ensure Docker network exists become: true community.docker.docker_network: name: "{{ coolify_docker_network }}" driver: bridge attachable: true state: present tags: coolify, docker, installation - name: Uninstall Coolify ansible.builtin.include_tasks: delete.yaml when: coolify_state == 'absent' tags: coolify, deletion - name: Install Coolify ansible.builtin.include_tasks: install.yaml when: - coolify_state in ['present', 'latest'] - not coolify_installed.stat.exists tags: coolify, installation - name: Update Coolify ansible.builtin.include_tasks: update.yaml when: - coolify_state == 'latest' - coolify_installed.stat.exists tags: coolify, update - name: Ensure Configuration ansible.builtin.include_tasks: configure.yaml when: - coolify_state == 'present' - coolify_installed.stat.exists tags: coolify, configuration - name: Ensure Started ansible.builtin.include_tasks: start.yaml when: - coolify_state == 'present' - coolify_installed.stat.exists tags: coolify, start - name: Stop Coolify ansible.builtin.include_tasks: stop.yaml when: - coolify_state == 'stopped' - coolify_installed.stat.exists tags: coolify, stop - name: Show status ansible.builtin.debug: msg: - "Coolify State: {{ coolify_state }}" - "URL: http://{{ ansible_host }}:{{ coolify_http_port }}" when: coolify_state in ['present', 'latest'] tags: coolify, status