--- # Playbook: deploy-stirling-pdf.yml # # But: # - Copier le docker-compose.yml Stirling PDF sur le LXC # - Creer les dossiers de donnees # - Demarrer la stack Docker Compose # - Verifier que le port 8080 repond # # Le docker-compose.yml reste dans Git. # Les donnees de Stirling PDF restent sur le LXC dans /opt/stacks/stirling-pdf. - name: Deployer Stirling PDF hosts: stirling_pdf_servers become: true gather_facts: false vars: stack_name: stirling-pdf stack_path: /opt/stacks/stirling-pdf compose_source: "{{ playbook_dir }}/../services/stirling-pdf/docker-compose.yml" tasks: - name: Verifier que Docker est installe command: docker --version changed_when: false - name: Verifier que Docker Compose est installe command: docker compose version changed_when: false - name: Creer le dossier de la stack file: path: "{{ stack_path }}" state: directory owner: root group: root mode: "0750" - name: Creer le dossier de donnees file: path: "{{ stack_path }}/stirling-data" state: directory owner: root group: root mode: "0755" - name: Creer les sous dossiers de donnees file: path: "{{ stack_path }}/stirling-data/{{ item }}" state: directory owner: root group: root mode: "0755" loop: - tessdata - configs - logs - pipeline - name: Copier le fichier Docker Compose copy: src: "{{ compose_source }}" dest: "{{ stack_path }}/docker-compose.yml" owner: root group: root mode: "0644" - name: Telecharger les images Docker command: docker compose pull args: chdir: "{{ stack_path }}" - name: Demarrer la stack Stirling PDF command: docker compose up -d args: chdir: "{{ stack_path }}" - name: Attendre le port Stirling PDF wait_for: host: 127.0.0.1 port: 8080 timeout: 180 - name: Afficher les conteneurs de la stack command: docker compose ps args: chdir: "{{ stack_path }}" register: compose_ps changed_when: false - name: Afficher le statut Docker Compose debug: var: compose_ps.stdout_lines