--- - name: Déploiement OTA & S3 pour les build hosts: infra become: true gather_facts: true tasks: - name: Update apt cache apt: update_cache: yes cache_valid_time: 3600 - name: Install required packages apt: name: - apt-transport-https - ca-certificates - curl - gnupg - acl state: present tags: docker - name: Create directory for Docker GPG key file: path: /etc/apt/keyrings state: directory mode: "0755" tags: docker - name: Add Docker GPG key apt_key: url: https://download.docker.com/linux/ubuntu/gpg keyring: /etc/apt/keyrings/docker.gpg state: present tags: docker - name: Get system architecture command: dpkg --print-architecture register: system_arch changed_when: false - name: Get Ubuntu codename command: lsb_release -cs register: ubuntu_codename changed_when: false - name: Add Docker repository apt_repository: repo: "deb [arch={{ system_arch.stdout }} signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu {{ ubuntu_codename.stdout }} stable" state: present filename: docker tags: docker - name: Update apt cache after adding repo apt: update_cache: yes tags: docker - name: Install Docker packages apt: name: - docker-ce - docker-ce-cli - containerd.io - docker-buildx-plugin - docker-compose-plugin state: present tags: docker - name: Ensure Docker service is started and enabled systemd: name: docker state: started enabled: yes tags: docker - name: Create docker group group: name: "{{ docker_group }}" state: present tags: docker - name: Create docker user user: name: "{{ docker_user }}" group: "{{ docker_group }}" groups: docker append: yes shell: /bin/bash create_home: yes state: present tags: docker - name: Add ansible user to docker group user: name: "{{ ansible_user }}" groups: docker append: yes when: ansible_user is defined tags: docker - name: Verify Docker installation command: docker --version register: docker_version changed_when: false tags: docker - name: Verify Docker Compose installation command: docker compose version register: compose_version changed_when: false tags: docker - name: Display versions debug: msg: - "{{ docker_version.stdout }}" - "{{ compose_version.stdout }}" tags: docker - name: Copy S3 project ansible.builtin.copy: src: ../monitoring/s3/ dest: "{{ docker_dir }}/" owner: "{{ docker_user }}" group: "{{ docker_group }}" mode: "0755" tags: project - name: Ensure parent directory has correct permissions ansible.builtin.file: path: "{{ docker_dir }}" state: directory owner: "{{ docker_user }}" group: "{{ docker_group }}" mode: "0755" tags: project - name: Set correct permissions for Docker files ansible.builtin.file: path: "{{ docker_dir }}" owner: "{{ docker_user }}" group: "{{ docker_group }}" recurse: yes tags: project