- 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://[email protected]/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.json
si 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~1
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 prod
:
git remote add mattermost-prod git+ssh://[email protected]/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.json
si 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~1
Créer un volume qui sera persistant après l'extinction du conteneur :
docker volume create postgres.mattermost
Té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:alpine
Té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 -xvz
Pour lancer Mattermost, il faut d'abord aller dans le dossier mattermost
:
cd ./mattermost
puis 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 dossiermattermost
ou modifier le chemin deClientDirectory
par 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
}