- Créer une application NodeJS et un addon MySQL
- You need to set a few environment variables for it to work on Clever Cloud:
MM_SERVICESETTINGS_LISTENADDRESS=":8080"MM_SQLSETTINGS_DATASOURCE="<username>:<password>@tcp(<host>:<port>)/<dbname>?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s"- If you are using postgresql:
MM_SQLSETTINGS_DRIVERNAME="mysql" MM_SQLSETTINGS_MAXOPENCONNS="<maxconnstodb_or_lower>"
- Editer les paramètres avec la console système : le système de stockage doit être Amazon S3 (configurer une instance Cellar)
To update mattermost, simply change the wget url in the build.sh to the version you want.
Ajouter à le dépôt distant de Clever Cloud en utilisant le Deployment URL de recette disponible dans l'interface de Clever Cloud dans le menu information de l'application Mattermost recette :
git remote add mattermost-recette git+ssh://git@push-n2-par-clevercloud-customers.services.clever-cloud.com/app_09f24f91-043a-4701-b948-ebbbf4f8cff8.git- Récupérer les dernières modifications du dépôt conseiller-numerique-deploy.
- Copier le fichier [config-recette.json] en le renommant en [config.json] (https://github.com/anct-cnum/conseiller-numerique-deploy/blob/main/mattermost/config-recette.json) depuis le projet conseiller-numerique-deploy à la racine de ce projet.
- Supprimer le fichier
.gitignore(et.clever.jsonsi présent) - Ajouter ces deux modifications :
git add .gitignore config.json- Faire un commit pour le déploiement, le message importe peu :
git commit -m "deploy"- Publier sur le dépôt de recette :
git push mattermost-recette recette:master --force- Une fois les modifications publiées, les changements temporaires appliqués au dépôt pour le déploiement doivent être annulés :
git reset --hard HEAD~1Ajouter à le dépôt distant de Clever Cloud en utilisant le Deployment URL de recette disponible dans l'interface de Clever Cloud dans le menu information de l'application Mattermost prod :
git remote add mattermost-prod git+ssh://git@push-n2-par-clevercloud-customers.services.clever-cloud.com/app_5767f9d4-9689-4db3-bedc-b62f308275fb.git- Récupérer les dernières modifications du dépôt conseiller-numerique-deploy.
- Copier le fichier config.json depuis le projet conseiller-numerique-deploy à la racine de ce projet.
- Supprimer le fichier
.gitignore(et.clever.jsonsi présent) - Ajouter ces deux modifications :
git add .gitignore config.json- Faire un commit pour le déploiement, le message importe peu :
git commit -m "deploy"- Publier sur le dépôt de production :
git push mattermost-prod main:master --force- Une fois les modifications publiées, les changements temporaires appliqués au dépôt pour le déploiement doivent être annulés :
git reset --hard HEAD~1Créer un volume qui sera persistant après l'extinction du conteneur :
docker volume create postgres.mattermostTélécharger et lancer l'image de postgres avec les informations d'identifications par défaut de Mattermost :
docker run -d --rm --name=postgres -p 5432:5432 -v postgres.mattermost:/var/lib/postgresql/data -e POSTGRES_PASSWORD=mostest -e POSTGRES_USER=mmuser -e POSTGRES_DB=mattermost_test postgres:alpineTélécharger une version de Mattermost, exemple avec 5.39.0 :
wget https://releases.mattermost.com/5.39.0/mattermost-5.39.0-linux-amd64.tar.gz -O - | tar -xvzPour lancer Mattermost, il faut d'abord aller dans le dossier mattermost :
cd ./mattermostpuis exécuter le binaire :
./bin/mattermost- Si l'erreur
"caller":"app/plugin.go:151","msg":"Failed to start up plugins","error":"mkdir ./client/plugins: no such file or directory"apparaît, il faut démarrer l'application depuis le dossiermattermostou modifier le chemin deClientDirectorypar un chemin absolu dansconfig.json: issue 13913. - Si Mattermost ne parvient pas à se connecter à la base de données, supprimer puis recréer le volume docker et vérifier la correspondance entre les informations de connexions fournies en paramètres lors du lancement du conteneur et celles contenues dans le fichier de configuration de Mattermost.
Télécharger le plugin Voice messaging depuis la page des versions disponibles vers le dossier plugins de Mattermost.
Exemple pour la version 0.2.2 :
mkdir ./mattermost/plugins/ # Si ce dossier n'existe pas déjà
wget https://github.com/streamer45/mattermost-plugin-voice/releases/download/v0.2.2/com.mattermost.voice-0.2.2.tar.gz -O - | tar -xzvf - -C ./mattermost/plugins/Dans le fichier config.json, ajouter une entrée pour com.mattermost.voice dans la propriété PluginStates :
"com.mattermost.voice": {
"Enable": true
}