1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/mattermost_ynh.git synced 2024-09-03 19:36:29 +02:00

Merge branch 'testing' into patch-73

This commit is contained in:
Éric Gaspar 2021-03-25 20:00:21 +01:00 committed by GitHub
commit 3c7145c60d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 35 additions and 83 deletions

View file

@ -11,7 +11,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in
## Overview ## Overview
Mattermost is a self-hosted, open source instant messaging and service software. It's designed as an internal chat for organizations and businesses, and it's touted as an alternative to Slack. Mattermost is a self-hosted, open source instant messaging and service software. It's designed as an internal chat for organizations and businesses, and it's touted as an alternative to Slack.
**Shipped version:** 5.32.1 **Shipped version:** 5.33.0
## Screenshots ## Screenshots
@ -24,7 +24,7 @@ Mattermost is a self-hosted, open source instant messaging and service software.
## Documentation ## Documentation
* Official documentation: https://docs.mattermost.com/ * Official documentation: https://docs.mattermost.com/
* YunoHost documentation: https://yunohost.org/#/app_mattermost * YunoHost documentation: https://yunohost.org/en/app_mattermost
## YunoHost specific features ## YunoHost specific features

View file

@ -11,7 +11,7 @@ Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/#/install
## Vue d'ensemble ## Vue d'ensemble
Mattermost est un logiciel et un service de messagerie instantanée libre auto-hébergeable. Il est conçu comme un chat interne pour les organisations et les entreprises, et il est présenté comme une alternative à Slack. Mattermost est un logiciel et un service de messagerie instantanée libre auto-hébergeable. Il est conçu comme un chat interne pour les organisations et les entreprises, et il est présenté comme une alternative à Slack.
**Version incluse :** 5.32.1 **Version incluse :** 5.33.0
## Captures d'écran ## Captures d'écran
@ -24,7 +24,7 @@ Mattermost est un logiciel et un service de messagerie instantanée libre auto-h
## Documentation ## Documentation
* Documentation officielle : https://docs.mattermost.com/ * Documentation officielle : https://docs.mattermost.com/
* Documentation YunoHost : https://yunohost.org/#/app_mattermost_fr * Documentation YunoHost : https://yunohost.org/fr/app_mattermost
## Caractéristiques spécifiques YunoHost ## Caractéristiques spécifiques YunoHost

View file

@ -3,7 +3,7 @@
"SiteURL": "__URL__", "SiteURL": "__URL__",
"WebsocketURL": "", "WebsocketURL": "",
"LicenseFileLocation": "", "LicenseFileLocation": "",
"ListenAddress": "__PORT__", "ListenAddress": "127.0.0.1:__PORT__",
"ConnectionSecurity": "", "ConnectionSecurity": "",
"TLSCertFile": "", "TLSCertFile": "",
"TLSKeyFile": "", "TLSKeyFile": "",
@ -144,7 +144,7 @@
}, },
"SqlSettings": { "SqlSettings": {
"DriverName": "mysql", "DriverName": "mysql",
"DataSource": "__DB_USER__:__DB_PASS__@tcp(localhost:3306)/__DB_NAME__?charset=utf8mb4,utf8", "DataSource": "__DB_USER__:__DB_PWD__@tcp(localhost:3306)/__DB_NAME__?charset=utf8mb4,utf8",
"DataSourceReplicas": [], "DataSourceReplicas": [],
"DataSourceSearchReplicas": [], "DataSourceSearchReplicas": [],
"MaxIdleConns": 20, "MaxIdleConns": 20,
@ -185,7 +185,7 @@
"EnableFile": true, "EnableFile": true,
"FileLevel": "INFO", "FileLevel": "INFO",
"FileJson": true, "FileJson": true,
"FileLocation": "__LOG__", "FileLocation": "__LOGS_PATH__",
"AdvancedLoggingConfig": "" "AdvancedLoggingConfig": ""
}, },
"PasswordSettings": { "PasswordSettings": {
@ -201,7 +201,7 @@
"EnableMobileDownload": true, "EnableMobileDownload": true,
"MaxFileSize": 52428800, "MaxFileSize": 52428800,
"DriverName": "local", "DriverName": "local",
"Directory": "__DATA__", "Directory": "__DATA_PATH__",
"EnablePublicLink": false, "EnablePublicLink": false,
"PublicLinkSalt": "", "PublicLinkSalt": "",
"InitialFont": "nunito-bold.ttf", "InitialFont": "nunito-bold.ttf",
@ -224,12 +224,12 @@
"UseChannelInEmailNotifications": false, "UseChannelInEmailNotifications": false,
"RequireEmailVerification": false, "RequireEmailVerification": false,
"FeedbackName": "Mattermost notification", "FeedbackName": "Mattermost notification",
"FeedbackEmail": "__FEEDBACK__", "FeedbackEmail": "no-reply@__DOMAIN__",
"ReplyToAddress": "", "ReplyToAddress": "",
"FeedbackOrganization": "", "FeedbackOrganization": "",
"EnableSMTPAuth": false, "EnableSMTPAuth": false,
"SMTPUsername": "mattermost", "SMTPUsername": "mattermost",
"SMTPPassword": "__USER_PW__", "SMTPPassword": "__SMTP_USER_PWD__",
"SMTPServer": "localhost", "SMTPServer": "localhost",
"SMTPPort": "25", "SMTPPort": "25",
"SMTPServerTimeout": 10, "SMTPServerTimeout": 10,

View file

@ -1,6 +1,6 @@
SOURCE_URL=https://releases.mattermost.com/5.32.1/mattermost-5.32.1-linux-amd64.tar.gz SOURCE_URL=https://releases.mattermost.com/5.33.0/mattermost-5.33.0-linux-amd64.tar.gz
SOURCE_SUM=9117ab9777d8453ae8b63f3a008152a2bdc6a638400640a67a0a359acf479a44 SOURCE_SUM=bee5b5b66306a4dc13531584e1b6d565f238eda87d9d1574189c2baa83495375
SOURCE_SUM_PRG=sha256sum SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=tar.gz SOURCE_FORMAT=tar.gz
SOURCE_IN_SUBDIR=true SOURCE_IN_SUBDIR=true
SOURCE_FILENAME=mattermost-5.32.1-linux-amd64.tar.gz SOURCE_FILENAME=mattermost-5.33.0-linux-amd64.tar.gz

View file

@ -34,6 +34,7 @@ location __PATH__/ {
#proxy_cache_use_stale timeout; #proxy_cache_use_stale timeout;
#proxy_cache_lock on; #proxy_cache_lock on;
proxy_pass http://127.0.0.1:__PORT__; proxy_pass http://127.0.0.1:__PORT__;
# Yunohost addition: redirect HTTP to HTTPS # Yunohost addition: redirect HTTP to HTTPS
if ($scheme = http) { if ($scheme = http) {
rewrite ^ https://$server_name$request_uri? permanent; rewrite ^ https://$server_name$request_uri? permanent;

View file

@ -6,7 +6,7 @@
"en": "Open source collaboration platform built for developers", "en": "Open source collaboration platform built for developers",
"fr": "Plateforme de collaboration open source conçue pour les développeurs" "fr": "Plateforme de collaboration open source conçue pour les développeurs"
}, },
"version": "5.32.1~ynh1", "version": "5.33.0~ynh1",
"url": "http://www.mattermost.org/", "url": "http://www.mattermost.org/",
"license": "GPL-3.0-only", "license": "GPL-3.0-only",
"maintainer": { "maintainer": {
@ -19,36 +19,24 @@
"mysql" "mysql"
], ],
"requirements": { "requirements": {
"yunohost": ">= 3.8.1" "yunohost": ">= 4.1.7"
}, },
"arguments": { "arguments": {
"install" : [ "install" : [
{ {
"name": "domain", "name": "domain",
"type": "domain", "type": "domain",
"ask": {
"en": "Choose a domain for Mattermost",
"fr": "Choisissez un domaine pour Mattermost"
},
"example": "domain.org" "example": "domain.org"
}, },
{ {
"name": "path", "name": "path",
"type": "path", "type": "path",
"ask": {
"en": "Choose a path for Mattermost",
"fr": "Choisissez un chemin pour Mattermost"
},
"example": "/mattermost", "example": "/mattermost",
"default": "/chat" "default": "/chat"
}, },
{ {
"name": "is_public", "name": "is_public",
"type": "boolean", "type": "boolean",
"ask": {
"en": "Is it a public application?",
"fr": "Est-ce une application publique ?"
},
"help": { "help": {
"en": "If enabled, Mattermost will be accessible by the user without a YunoHost account. This can be changed later via the webadmin.", "en": "If enabled, Mattermost will be accessible by the user without a YunoHost account. This can be changed later via the webadmin.",
"fr": "Si cette case est cochée, Mattermost sera accessible par l'utilisateur sans compte YunoHost. Vous pourrez changer ceci plus tard via linterface dadministration." "fr": "Si cette case est cochée, Mattermost sera accessible par l'utilisateur sans compte YunoHost. Vous pourrez changer ceci plus tard via linterface dadministration."
@ -58,19 +46,11 @@
{ {
"name": "admin", "name": "admin",
"type": "user", "type": "user",
"ask": {
"en": "Choose an admin user",
"fr": "Choisissez l'administrateur"
},
"example": "johndoe" "example": "johndoe"
}, },
{ {
"name": "password", "name": "password",
"type": "password", "type": "password",
"ask": {
"en": "Set the administrator password",
"fr": "Définissez le mot de passe administrateur"
},
"example": "Choose a password" "example": "Choose a password"
}, },
{ {

View file

@ -42,7 +42,7 @@ ynh_backup --src_path="$final_path"
# BACKUP THE APP DATA # BACKUP THE APP DATA
#================================================= #=================================================
ynh_backup --src_path="/home/yunohost.app/$app" ynh_backup --src_path="/home/yunohost.app/$app" --is_big
#================================================= #=================================================
# BACKUP THE NGINX CONFIGURATION # BACKUP THE NGINX CONFIGURATION

View file

@ -122,7 +122,7 @@ ynh_store_file_checksum --file="$final_path/config/config.json"
ynh_script_progression --message="Starting a systemd service..." --weight=2 ynh_script_progression --message="Starting a systemd service..." --weight=2
# Start a systemd service # Start a systemd service
ynh_systemd_action --service_name=$app --action=start --log_path="systemd" --line_match="Started Mattermost" ynh_systemd_action --service_name=$app --action=start --log_path=systemd --line_match="Started Mattermost"
#================================================= #=================================================
# RELOAD NGINX # RELOAD NGINX

View file

@ -54,7 +54,6 @@ ynh_script_progression --message="Storing installation settings..." --weight=6
ynh_app_setting_set --app=$app --key=domain --value=$domain ynh_app_setting_set --app=$app --key=domain --value=$domain
ynh_app_setting_set --app=$app --key=path --value=$path_url ynh_app_setting_set --app=$app --key=path --value=$path_url
ynh_app_setting_set --app=$app --key=is_public --value=$is_public
ynh_app_setting_set --app=$app --key=admin --value=$admin ynh_app_setting_set --app=$app --key=admin --value=$admin
ynh_app_setting_set --app=$app --key=password --value=$password ynh_app_setting_set --app=$app --key=password --value=$password
ynh_app_setting_set --app=$app --key=language --value=$language ynh_app_setting_set --app=$app --key=language --value=$language
@ -138,21 +137,10 @@ ynh_use_logrotate
#================================================= #=================================================
ynh_script_progression --message="Modifying a config file..." --weight=3 ynh_script_progression --message="Modifying a config file..." --weight=3
cp ../conf/config.json $final_path/config/config.json smtp_user_pwd=$(ynh_string_random --length=24)
url=https://$domain$path_url
# Main config File ynh_add_config --template="../conf/config.json" --destination="$final_path/config/config.json"
ynh_replace_string --match_string="__URL__" --replace_string="https://$domain$path_url" --target_file="$final_path/config/config.json"
ynh_replace_string --match_string="__PORT__" --replace_string="127.0.0.1:$port" --target_file="$final_path/config/config.json"
ynh_replace_string --match_string="__DB_NAME__" --replace_string="$db_name" --target_file="$final_path/config/config.json"
ynh_replace_string --match_string="__DB_USER__" --replace_string="$db_user" --target_file="$final_path/config/config.json"
ynh_replace_string --match_string="__DB_PASS__" --replace_string="$db_pwd" --target_file="$final_path/config/config.json"
ynh_replace_string --match_string="__DATA__" --replace_string="$data_path" --target_file="$final_path/config/config.json"
ynh_replace_string --match_string="__FEEDBACK__" --replace_string="no-reply@${domain}" --target_file="$final_path/config/config.json"
ynh_replace_string --match_string="__USER_PW__" --replace_string="$(ynh_string_random --length=24)" --target_file="$final_path/config/config.json"
ynh_replace_string --match_string="__LOG__" --replace_string="$logs_path" --target_file="$final_path/config/config.json"
ynh_replace_string --match_string="__LANGUAGE__" --replace_string="$language" --target_file="$final_path/config/config.json"
ynh_store_file_checksum --file="$final_path/config/config.json"
#================================================= #=================================================
# SECURE FILES AND DIRECTORIES # SECURE FILES AND DIRECTORIES
@ -203,7 +191,7 @@ yunohost service add $app --description="Collaboration platform built for develo
ynh_script_progression --message="Starting a systemd service..." --weight=2 ynh_script_progression --message="Starting a systemd service..." --weight=2
# Start a systemd service # Start a systemd service
ynh_systemd_action --service_name=$app --action="start" --log_path="systemd" --line_match="Started Mattermost" ynh_systemd_action --service_name=$app --action=start --log_path=systemd --line_match="Started Mattermost"
#================================================= #=================================================
# SETUP SSOWAT # SETUP SSOWAT

View file

@ -27,7 +27,7 @@ final_path=$(ynh_app_setting_get --app=$app --key=final_path)
# REMOVE SERVICE FROM ADMIN PANEL # REMOVE SERVICE FROM ADMIN PANEL
#================================================= #=================================================
# Remove the service from the list of services known by Yunohost (added from `yunohost service add`) # Remove the service from the list of services known by YunoHost (added from `yunohost service add`)
if ynh_exec_warn_less yunohost service status $app >/dev/null if ynh_exec_warn_less yunohost service status $app >/dev/null
then then
ynh_script_progression --message="Removing $app service..." --weight=1 ynh_script_progression --message="Removing $app service..." --weight=1
@ -58,7 +58,8 @@ ynh_script_progression --message="Removing $app main directory..." --weight=6
# Remove the app directory securely # Remove the app directory securely
ynh_secure_remove --file="$final_path" ynh_secure_remove --file="$final_path"
ynh_secure_remove --file="/home/yunohost.app/$app" # We don't delete this dir as it is marked as is-big
# ynh_secure_remove --file="/home/yunohost.app/$app"
#================================================= #=================================================
# REMOVE NGINX CONFIGURATION # REMOVE NGINX CONFIGURATION

View file

@ -70,7 +70,7 @@ ynh_system_user_create --username=$app
# RESTORE THE APP DATA # RESTORE THE APP DATA
#================================================= #=================================================
ynh_restore_file --origin_path="/home/yunohost.app/$app" ynh_restore_file --origin_path="/home/yunohost.app/$app" --not_mandatory
chown -R $app: "/home/yunohost.app/$app" chown -R $app: "/home/yunohost.app/$app"
#================================================= #=================================================
@ -115,7 +115,7 @@ yunohost service add $app --description="Collaboration platform built for develo
ynh_script_progression --message="Starting a systemd service..." --weight=2 ynh_script_progression --message="Starting a systemd service..." --weight=2
# Start a systemd service # Start a systemd service
ynh_systemd_action --service_name=$app --action="start" --log_path="systemd" --line_match="Started Mattermost" ynh_systemd_action --service_name=$app --action=start --log_path=systemd --line_match="Started Mattermost"
#================================================= #=================================================
# RESTORE THE LOGROTATE CONFIGURATION # RESTORE THE LOGROTATE CONFIGURATION

View file

@ -28,7 +28,6 @@ app=$YNH_APP_INSTANCE_NAME
domain=$(ynh_app_setting_get --app=$app --key=domain) domain=$(ynh_app_setting_get --app=$app --key=domain)
path_url=$(ynh_app_setting_get --app=$app --key=path) path_url=$(ynh_app_setting_get --app=$app --key=path)
is_public=$(ynh_app_setting_get --app=$app --key=is_public)
port=$(ynh_app_setting_get --app=$app --key=port) port=$(ynh_app_setting_get --app=$app --key=port)
final_path=$(ynh_app_setting_get --app=$app --key=final_path) final_path=$(ynh_app_setting_get --app=$app --key=final_path)
language=$(ynh_app_setting_get --app=$app --key=language) language=$(ynh_app_setting_get --app=$app --key=language)
@ -47,14 +46,6 @@ upgrade_type=$(ynh_check_app_version_changed)
# ENSURE DOWNWARD COMPATIBILITY # ENSURE DOWNWARD COMPATIBILITY
#================================================= #=================================================
# Convert is_public from "Yes"/"No" to 1 / 0
if [[ $is_public == "Yes" ]]; then
is_public=1
elif [[ $is_public == "No" ]]; then
is_public=0
fi
ynh_app_setting_set --app=$app --key=is_public --value=$is_public
# Save the port used if not present # Save the port used if not present
if [ -z "$port" ]; then if [ -z "$port" ]; then
port=8065 port=8065
@ -78,6 +69,13 @@ if [ -z "$db_name" ]; then
ynh_app_setting_set --app=$app --key=db_name --value=$db_name ynh_app_setting_set --app=$app --key=db_name --value=$db_name
fi fi
# Cleaning legacy permissions
if ynh_legacy_permissions_exists; then
ynh_legacy_permissions_delete_all
ynh_app_setting_delete --app=$app --key=is_public
fi
#================================================= #=================================================
# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP
#================================================= #=================================================
@ -155,22 +153,6 @@ ynh_script_progression --message="Upgrading systemd configuration..." --weight=2
# Create a dedicated systemd config # Create a dedicated systemd config
ynh_add_systemd_config ynh_add_systemd_config
#=================================================
# SPECIFIC UPGRADE STEPS
#=================================================
# # Fix log FileLocation path (changed in Mattermost 3.8, makes Mattermost >= 4.2 crash)
# # https://docs.mattermost.com/administration/changelog.html#release-v3-8-3
# ynh_replace_string --match_string "\"FileLocation\": \"/var/log/mattermost.log\"" --replace_string "\"FileLocation\": \"/var/log\"" --target_file "$config_file"
# # Move log files to a directory (rather than directly in /var/log)
# # See https://github.com/YunoHost-Apps/mattermost_ynh/issues/61
# mkdir -p "$logs_path"
# ynh_replace_string --match_string "\"FileLocation\": \"/var/log\"" --replace_string "\"FileLocation\": \"$logs_path\"" --target_file "$config_file"
# if [ -f "/var/log/${app}.log" ]; then
# mv "/var/log/${app}.log" "$logs_path/"
# fi
#================================================= #=================================================
# CREATE DIRECTORY FOR DATA # CREATE DIRECTORY FOR DATA
#================================================= #=================================================
@ -212,7 +194,7 @@ yunohost service add $app --description="Collaboration platform built for develo
ynh_script_progression --message="Starting a systemd service..." --weight=2 ynh_script_progression --message="Starting a systemd service..." --weight=2
# Start a systemd service # Start a systemd service
ynh_systemd_action --service_name=$app --action=start --log_path="systemd" --line_match="Started Mattermost" ynh_systemd_action --service_name=$app --action=start --log_path=systemd --line_match="Started Mattermost"
#================================================= #=================================================
# RELOAD NGINX # RELOAD NGINX