--- - name: Start SonarQube and configure DB hosts: localhost become: yes vars: sonar_port: 9001 sonar_data_dir: "{{ playbook_dir }}/sonarqube/sonarqube_data" sonar_temp_dir: "{{ playbook_dir }}/sonarqube/sonarqube_temp" sonar_logs_dir: "{{ playbook_dir }}/sonarqube/sonarqube_logs" tasks: - name: Ensure SonarQube directories exist file: path: "{{ item }}" state: directory mode: '777' loop: - "{{ sonar_data_dir }}" - "{{ sonar_temp_dir }}" - "{{ sonar_logs_dir }}" - name: Start SonarQube and PostgreSQL command: docker compose up -d args: chdir: "{{ playbook_dir }}" - name: Wait for SonarQube to be ready uri: url: "http://localhost:{{ sonar_port }}" status_code: 200 register: result until: result.status == 200 retries: 30 delay: 10