--- title: "Mise à jour de Nextcloud docker par Ansible" summary: "brief decription to sum up" author: - JF date: 2023-10-01 --- # Mise à jour de Nextcloud docker par Ansible ## Prérequis [Se connecter en SSH au Synology à l’aide d’une clef asymétrique.](../Savaneprod/2019-09-01-access-synology-with-ssh-asymetrical-key.md) ## Le playbook ```yaml --- - name: Mise à jour du conteneur Nextcloud hosts: savaneprod.fr vars: nc_previous_version: 32.0.5 nc_version: 32.0.6 path_to_project: /volume1/nextcloud tasks: - name: Modification de la version dans le docker-compose ansible.builtin.lineinfile: path: /volume1/nextcloud/docker-compose.yaml backrefs: true backup: false state: present regexp: "^ image: nextcloud:" line: " image: nextcloud:{{ nc_version }}" - name: "Téléchargement de l'image nextcloud: {{ nc_version }}" community.docker.docker_compose_v2_pull: docker_cli: /usr/local/bin/docker project_src: "{{ path_to_project }}" - name: Compose down & compose up detached # Needed on DSM : pip3 install docker-compose community.docker.docker_compose_v2: docker_cli: /usr/local/bin/docker project_src: "{{ path_to_project }}" recreate: auto - name: Pause en attendant la remontée des conteneurs ansible.builtin.pause: minutes: 1 - name: "Suppression de la mention de création de compte" tags: account ansible.builtin.lineinfile: path: "{{ path_to_project }}/data/config/config.php" backup: false state: present insertafter: "CONFIG" line: " 'simpleSignUpLink.shown' => false," - name: "Suppression de l'ancienne image : {{ nc_previous_version }}" community.docker.docker_image_remove: # Needed on DSM : pip3 install docker name: nextcloud tag: '{{ nc_previous_version }}' - name: Modification du fichier .htaccess pour caldav Mac tags: caldav ansible.builtin.lineinfile: path: /volume1/nextcloud/data/.htaccess backup: false state: present search_string: "{{ item.search_string }}" line: "{{ item.line }}" loop: - { search_string: 'RewriteRule ^\.well-known/carddav', line: ' RewriteRule ^\.well-known/carddav https://%{SERVER_NAME}/remote.php/dav/ [R=301,L]' } - { search_string: 'RewriteRule ^\.well-known/caldav', line: ' RewriteRule ^\.well-known/caldav https://%{SERVER_NAME}/remote.php/dav/ [R=301,L]' } - name: Pause avant mise à jour de la base de données ansible.builtin.pause: minutes: 2 - name: "Mise à jour de la base de données" tags: db-maintenance community.docker.docker_compose_v2_exec: docker_cli: /usr/local/bin/docker detach: true project_src: "{{ path_to_project }}" service: app tty: true user: www-data command: "{{ item }}" loop: - "php occ db:add-missing-columns" - "php occ db:add-missing-indices" - "php occ db:add-missing-primary-keys" - "php occ maintenance:repair --include-expensive" - "php occ config:system:set maintenance_window_start --type=integer --value=1" ```