--- - name: Installer et configurer Portainer hosts: servers become: true gather_facts: true vars: git_dest: "/opt/Neah-Enkun" portainer_password: "@wp@36#@%yXo2@y78&$mXeN#6E@W2r9d" portainer_service_name: "portainer" portainer_password_file: "portainer_password" tasks: - name: Vérifier si le fichier de mot de passe existe déjà stat: path: "{{ git_dest }}/{{ portainer_password_file }}" register: password_file changed_when: false - name: Écrire le mot de passe Portainer dans un fichier temporaire copy: content: "{{ portainer_password }}" dest: "{{ git_dest }}/{{ portainer_password_file }}" mode: "0600" force: true register: write_password until: write_password is success retries: 3 delay: 5 when: not password_file.stat.exists - name: Lancer le service Portainer command: "docker compose up -d --build --remove-orphans {{ portainer_service_name }}" args: chdir: "{{ git_dest }}" register: portainer_launch until: portainer_launch is success retries: 3 delay: 5 notify: Nettoyer les fichiers temporaires handlers: - name: Nettoyer les fichiers temporaires file: path: "{{ git_dest }}/{{ portainer_password_file }}" state: absent register: cleanup until: cleanup is success retries: 3 delay: 5