79 lines
2.5 KiB
Markdown
79 lines
2.5 KiB
Markdown
---
|
||
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.](../Synology/2019-09-01-access-synology-with-ssh-asymetrical-key.md)
|
||
|
||
## Le playbook
|
||
```yaml
|
||
---
|
||
- name: Mise à jour du conteneur Nextcloud
|
||
hosts: savaneprod.fr
|
||
vars:
|
||
nc_version: 27.1.3
|
||
tasks:
|
||
- name: Modification de la versions 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_image:
|
||
# Needed on DSM : pip3 install docker
|
||
name: nextcloud
|
||
source: pull
|
||
tag: '{{ nc_version }}'
|
||
|
||
- name: Compose down & compose up detached
|
||
# Needed on DSM : pip3 install docker-compose
|
||
community.docker.docker_compose:
|
||
project_src: "/volume1/nextcloud"
|
||
recreate: smart
|
||
|
||
- name: Pause en attendant la remontée des conteneurs
|
||
ansible.builtin.pause:
|
||
#minutes: 2
|
||
seconds: 30
|
||
|
||
- name: "Mise à jour de la base de données"
|
||
community.docker.docker_container_exec:
|
||
container: nextcloud_app_1
|
||
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"
|
||
- "occ config:system:set maintenance_window_start --type=integer --value=1"
|
||
|
||
- name: Pause de 1 minute
|
||
ansible.builtin.pause:
|
||
minutes: 1
|
||
# seconds: 30
|
||
|
||
- name: Modification du fichier .htaccess pour 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]' }
|
||
|
||
```
|
||
=> Cette façon de faire renvoi un problème d'intégrité sur le fichier config.php.
|