- name: Load environment variables from .env file include_vars: file: .env.yml name: env_vars - name: Set Docker Hub credentials from env vars set_fact: docker_hub_username: "{{ env_vars.DOCKER_HUB_USERNAME }}" docker_hub_password: "{{ env_vars.DOCKER_HUB_PASSWORD }}" - name: Check memory and swap usage command: free -m register: memory_info changed_when: false - name: apt update ansible.builtin.apt: update_cache: yes - name: install packages ansible.builtin.apt: name: - jq - vim - curl state: present - name: Ensure Python pip is installed package: name: python3-pip state: present - name: Ensure Docker SDK for Python is installed pip: name: docker>=5.0.0 executable: pip3 - name: Ensure Docker Compose is installed pip: name: docker-compose>=1.29.0 executable: pip3 - name: Install 'jsondiff' Python module pip: name: jsondiff executable: pip3 - name: wait for docker service service: name: docker state: started register: docker_service until: docker_service.status.ActiveState == "active" retries: 10 delay: 20 - name: Login to Docker Hub as vagrant user community.docker.docker_login: username: "{{ docker_hub_username }}" password: "{{ docker_hub_password }}" reauth: true when: docker_hub_username is defined and docker_hub_password is defined register: docker_login_result