diff --git a/pica-mattermost/Dockerfile b/pica-mattermost/Dockerfile index 15a969f63e1a0533b9388c22fba0d4473e3dc8a5..cc746381e4cd1399c76270d0761315ef5bc876eb 100644 --- a/pica-mattermost/Dockerfile +++ b/pica-mattermost/Dockerfile @@ -4,7 +4,7 @@ FROM alpine:3.11 ENV PATH="/mattermost/bin:${PATH}" # Picasoft : change these values. The team version is used by default -ENV MM_VERSION=5.21.0 +ENV MM_VERSION=5.23.0 # Get these ids with the output of `id mattermost` on the VM hosting the app ARG PUID=5000 ARG PGID=5000 diff --git a/pica-mattermost/README.md b/pica-mattermost/README.md index f1cce4597011e458d0f3fd01ef9358d618c1023b..ff7df00d124314533d74af8bf6b91c67a12c9c8e 100644 --- a/pica-mattermost/README.md +++ b/pica-mattermost/README.md @@ -20,3 +20,20 @@ Enfin, le Docker Compose est adapté à notre configuration. Il suffit de changer l'argument correspondant à la version dans le `Dockerfile` ainsi que le tag d'image dans le `docker-compose.yml`. Régulièrement, on vérifiera l'upstream pour s'assurer qu'il n'y a pas de changements majeurs, auxquel cas on les intègrera dans le `Dockerfile` local. Ce n'est pas le plus pratique, mais ni la CI ni Docker ne permet de reprendre un `Dockerfile` distant et d'y intégrer des modifications. + +### Mise à jour du SGBD + +Il peut arriver que la version de PostgreSQL ne soit plus supportée par Mattermost. +Sans en arriver là , il est bon de régulièrement mettre à jour PostgreSQL : +> While upgrading will always contain some level of risk, PostgreSQL minor releases fix only frequently-encountered bugs, security issues, and data corruption problems to reduce the risk associated with upgrading. For minor releases, the community considers not upgrading to be riskier than upgrading. https://www.postgresql.org/support/versioning/ + +Les mise à jours mineures (changement du Y de la version X.Y) peuvent se faire sans intervention humaine. On veillera à bien regarder les logs. + +En revanche, le passage d'une version majeure à une autre nécessitera une intervention manuelle. + +La documentation complète est ici : https://www.postgresql.org/docs/current/upgrading.html + +De manière générale, la façon la plus simple est de se rendre dans l'ancien conteneur, de réaliser un `pg_dumpall` et de le copier en lieu sûr (`docker cp`). +Ensuite, on supprime l'ancien volume de base de données, on relance le nouveau conteneur de base de données (qui sera sans donnée), on monte le fichier de dump, et on lance un `psql -U <user> -d <db> -f <dump_file>` (valeurs de `user` et `db` à matcher avec le fichiers de secrets). + +On attend, et **si tout s'est bien passé**, on peut lancer le conteneur applicatif (Mattermost). diff --git a/pica-mattermost/docker-compose.yml b/pica-mattermost/docker-compose.yml index 0a56c85d43720f3a7d160dcbe2ea8f901a81cf26..2cc8287301d94cd195f4d5a2e8afd0def6a9f652 100644 --- a/pica-mattermost/docker-compose.yml +++ b/pica-mattermost/docker-compose.yml @@ -6,17 +6,17 @@ networks: volumes: mattermost-config: - external: true + name: mattermost-config mattermost-data: - external: true + name: mattermost-data mattermost-plugins: - external: true + name: mattermost-plugins mattermost-db: - external: true + name: mattermost-db services: mattermost: - image: registry.picasoft.net/pica-mattermost:5.21.0 + image: registry.picasoft.net/pica-mattermost:5.23.0 container_name: mattermost-app links: - mattermost-db:mattermost-db @@ -40,7 +40,7 @@ services: restart: unless-stopped mattermost-db: - image: postgres:9.4-alpine + image: postgres:12-alpine container_name: mattermost-db volumes: - mattermost-db:/var/lib/postgresql/data