Step 2 : dans le [sous-tuto de préparation de la base de donnée](https://docs.mattermost.com/deployment-guide/server/preparations.html#database-preparation), en fait la commande "locale-gen" ignore complètement ses arguments, c'est dans `/etc/locale.gen` qu'il faut aller décommenter la ligne `en_US.UTF-8` avant le lancer la commande.
Et ce n'est pas précisé mais il faut bien s'arrêter dans le sous-tuto avant "File storage preparation", ne faire que la partie "Database preparation", sinon y a des commandes plus tard qui ne fonctionnent pas.
Step 3 : ce n'est pas dit mais dans le dump il y a plein de "ALTER ... OWNER TO gitlab_mattermost" qui vont échouer, faut les récupérer après coup (avec zgrep par exemple) pour les effectuer quand même et remplacer "gitlab_mattermost" par "mmuser", si on suit les noms du tutoriel de migration.
Step 4 : il faut faire l'étape 5 *avant*, sinon on a le choix de modifier un fichier de config qui n'existe pas et qu'on va écraser à l'étape d'après, ou de modifier un fichier de config de façon incohérente…
Step 5 :
5.1 : Le bon tuto est là : https://docs.mattermost.com/deployment-guide/server/deploy-linux.html
Attention avec Mattermost 11 on a une limite d'utilisateurs ridiculement petite et on a plus le SSO sur le GitLab, si on veut conserver ça faut prendre la dernière version ESR de la v10.
Pour ça faut juste remplacer la version à télécharger par "Mattermost Team Edition v10.11.20 Extended Support Release (ESR)" qu'on trouve ici : https://docs.mattermost.com/product-overview/version-archive.html
Il faut faire les étapes 3 "Download" et 4 "Install Mattermost server" uniquement, et dans la 4 il ne faut pas faire l'étape 4.3 où ont créé le dossier "data", ou si on le fait faire gaffe plus bas quand on sera de retour à l'étape 4 du tuto migration.
5.2 : si l'installation se fait sur le même serveur pas besoin de faire toute la danse avec /tmp et scp, et c'est possible de juste faire un mv plutôt que de cp (ce qui peut être *long*). Attention si on suit leur commande on peut se retrouver avec le dossier de données dans le dossier /opt/mattermost/data plutôt que ce dernier soit le dossier de données. Et le fichier de config de GitLab Mattermost n'est pas à l'emplacement indiqué… (un dossier "config" de trop dans le tuto).
Ce que je recommande de faire c'est simplement les deux commandes suivantes :
(pour nous le dossier /opt/mattermost/data n'existe pas donc c'est bon, mais si il existe comme devrait le supposer le tutoriel puisqu'on l'a créé en 4.3 du tuto d'installation qu'on a suivi à l'étape 5.1 du tuto migration, ne pas l'indiquer à la fin du chemin de destination, sinon on se retrouve avec un dossier data dans le dossier data).
5.3 : là c'est bon on peut suivre !
Retour à l'étape 4 !
Step 4 : Ce n'est dit nul part dans le tutoriel mais en plus de modifier la config DataSource pour pointer vers la nouvelle base de données, faut aussi modifier la config "Directory" pour pointer vers le nouveau dossier où il y a les data (pour mettre "/opt/mattermost/data" à la place de "/var/opt/gitlab/mattermost/data".
Et voilà c'est… quasi terminé, avant de tout relancer faut quand même indiquer au nginx de GitLab que le nouveau Mattermost existe, et lui faire gérer les certificats, ce qui n'est dit nul part non plus… Pour ça (en remplaçant partout "MATTERMOSTDOMAIN" par votre domaine pour Mattermost et GITLABDOMAIN par votre domaine GitLab) :