diff --git a/README.md b/README.md index 9118d80..f73adc2 100644 --- a/README.md +++ b/README.md @@ -21,12 +21,11 @@ The fastest wiki and knowledge base for growing teams. Beautiful, feature rich, ### Features - Fully working installation of Outline wiki -- Including a MinIO server for avatars and picture object storage - Including a Dex server to connect to Yunohost's LDAP userbase using an OIDC auth flow - Using Yunohost's built-in SMTP server for notifications -**Shipped version:** 0.69.2.2~ynh1 +**Shipped version:** 0.72.0.3~ynh2 **Demo:** https://app.getoutline.com/create @@ -34,6 +33,27 @@ The fastest wiki and knowledge base for growing teams. Beautiful, feature rich, ![Screenshot of Outline](./doc/screenshots/outline_screenshot.png) +## Disclaimers / important information + +### Not totally free licence +Outline is a softwared licenced under [BUSL 1.1 licence](https://spdx.org/licenses/BUSL-1.1.html). +⚠️ That licence **is not totally free**. Please read it very carefully if you have any commercial use in mind. +The Outline version shipped with this package (v0.72.0) will be released under Apache-2.0 licence [after May 23rd 2026](https://github.com/outline/outline/blob/151c2c731a94eefdda4e62f311308e9bd4615838/LICENSE). + +### Known limitations + +1. The app can now run in the CI server and reach level 8. However, it is still very young and not broadly tested. **Please use it with extreme care if it's on a prod server** +2. The app requires [Dex app](https://github.com/YunoHost-apps/dex_ynh) to be installed (Dex installation and setup is automatic, though) +3. The app is requiring three domains including two fully dedicated (one for MinIO server, one for Dex, one for Outline) +4. ARM architectures are not yet supported (But it should be achievable soon) +5. Because it's built from sources, the app requires an important amount of RAM, disk and time to install properly + + +### How to create an admin user + +The first user to login will automatically be granted admin rights +You can then change the user rights by default and/or change the admin user afterwards from the Outline settings page + ## :red_circle: Antifeatures - **Not totally free upstream**: The packaged app is under an overall free licence, but with clauses that restrict its use. diff --git a/README_fr.md b/README_fr.md index f2de00b..1dfdaea 100644 --- a/README_fr.md +++ b/README_fr.md @@ -21,12 +21,11 @@ The fastest wiki and knowledge base for growing teams. Beautiful, feature rich, ### Features - Fully working installation of Outline wiki -- Including a MinIO server for avatars and picture object storage - Including a Dex server to connect to Yunohost's LDAP userbase using an OIDC auth flow - Using Yunohost's built-in SMTP server for notifications -**Version incluse :** 0.69.2.2~ynh1 +**Version incluse :** 0.72.0.3~ynh2 **Démo :** https://app.getoutline.com/create @@ -34,6 +33,27 @@ The fastest wiki and knowledge base for growing teams. Beautiful, feature rich, ![Capture d’écran de Outline](./doc/screenshots/outline_screenshot.png) +## Avertissements / informations importantes + +### Not totally free licence +Outline is a softwared licenced under [BUSL 1.1 licence](https://spdx.org/licenses/BUSL-1.1.html). +⚠️ That licence **is not totally free**. Please read it very carefully if you have any commercial use in mind. +The Outline version shipped with this package (v0.72.0) will be released under Apache-2.0 licence [after May 23rd 2026](https://github.com/outline/outline/blob/151c2c731a94eefdda4e62f311308e9bd4615838/LICENSE). + +### Known limitations + +1. The app can now run in the CI server and reach level 8. However, it is still very young and not broadly tested. **Please use it with extreme care if it's on a prod server** +2. The app requires [Dex app](https://github.com/YunoHost-apps/dex_ynh) to be installed (Dex installation and setup is automatic, though) +3. The app is requiring three domains including two fully dedicated (one for MinIO server, one for Dex, one for Outline) +4. ARM architectures are not yet supported (But it should be achievable soon) +5. Because it's built from sources, the app requires an important amount of RAM, disk and time to install properly + + +### How to create an admin user + +The first user to login will automatically be granted admin rights +You can then change the user rights by default and/or change the admin user afterwards from the Outline settings page + ## :red_circle: Fonctions indésirables - **Not totally free upstream**: The packaged app is under an overall free licence, but with clauses that restrict its use. diff --git a/conf/.env b/conf/.env index f02bbac..00a44b7 100644 --- a/conf/.env +++ b/conf/.env @@ -29,14 +29,8 @@ PORT=__PORT__ # A more detailed guide on setting up S3 is available here: # => https://wiki.generaloutline.com/share/125de1cc-9ff6-424b-8415-0d58c809a40f # -AWS_ACCESS_KEY_ID=__MINIO_ADMIN__ -AWS_SECRET_ACCESS_KEY=__MINIO_PASSWORD__ -AWS_REGION=fr-ynh-1 -AWS_S3_UPLOAD_BUCKET_URL=https://__MINIO_DOMAIN__ -AWS_S3_UPLOAD_BUCKET_NAME=outlinestorage -AWS_S3_UPLOAD_MAX_SIZE=26214400 -AWS_S3_FORCE_PATH_STYLE=true -AWS_S3_ACL=private +FILE_STORAGE=local +FILE_STORAGE_UPLOAD_MAX_SIZE=106214400 # –––––––––––––– AUTHENTICATION –––––––––––––– diff --git a/conf/policy.json b/conf/policy.json deleted file mode 100644 index 7ffe219..0000000 --- a/conf/policy.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "Version": "2012-10-17", - "Statement": [ - { - "Sid": "AllowPublicRead", - "Effect": "Allow", - "Principal": { - "AWS": [ - "*" - ] - }, - "Action": [ - "s3:GetObject" - ], - "Resource": [ - "arn:aws:s3:::outlinestorage/public/*" - ] - } - ] -} \ No newline at end of file diff --git a/doc/ADMIN.md b/doc/ADMIN.md index a08ae4b..215de69 100644 --- a/doc/ADMIN.md +++ b/doc/ADMIN.md @@ -1,16 +1,15 @@ ### Not totally free licence Outline is a softwared licenced under [BUSL 1.1 licence](https://spdx.org/licenses/BUSL-1.1.html). ⚠️ That licence **is not totally free**. Please read it very carefully if you have any commercial use in mind. -The Outline version shipped with this package (v0.68.0) will be released under Apache-2.0 licence [after May 23rd 2026](https://github.com/outline/outline/blob/151c2c731a94eefdda4e62f311308e9bd4615838/LICENSE). +The Outline version shipped with this package (v0.72.0) will be released under Apache-2.0 licence [after May 23rd 2026](https://github.com/outline/outline/blob/151c2c731a94eefdda4e62f311308e9bd4615838/LICENSE). ### Known limitations -1. The app can now run in the CI server and reach level 7. However, it is still very young and not broadly tested. **Please use it with extreme care if it's on a prod server** -2. The app requires [MinIO app](https://github.com/YunoHost-apps/minio_ynh) to be installed (MinIO installation and setup is automatic, though) -3. The app requires [Dex app](https://github.com/YunoHost-apps/dex_ynh) to be installed (Dex installation and setup is automatic, though) -4. The app is requiring three domains including two fully dedicated (one for MinIO server, one for Dex, one for Outline) -5. ARM architectures are not yet supported (But it should be achievable soon) -6. Because it's built from sources, the app requires an important amount of RAM, disk and time to install properly +1. The app can now run in the CI server and reach level 8. However, it is still very young and not broadly tested. **Please use it with extreme care if it's on a prod server** +2. The app requires [Dex app](https://github.com/YunoHost-apps/dex_ynh) to be installed (Dex installation and setup is automatic, though) +3. The app is requiring three domains including two fully dedicated (one for MinIO server, one for Dex, one for Outline) +4. ARM architectures are not yet supported (But it should be achievable soon) +5. Because it's built from sources, the app requires an important amount of RAM, disk and time to install properly ### How to create an admin user diff --git a/doc/DESCRIPTION.md b/doc/DESCRIPTION.md index 0b23e3c..436faaf 100644 --- a/doc/DESCRIPTION.md +++ b/doc/DESCRIPTION.md @@ -3,6 +3,5 @@ The fastest wiki and knowledge base for growing teams. Beautiful, feature rich, ### Features - Fully working installation of Outline wiki -- Including a MinIO server for avatars and picture object storage - Including a Dex server to connect to Yunohost's LDAP userbase using an OIDC auth flow - Using Yunohost's built-in SMTP server for notifications diff --git a/scripts/backup b/scripts/backup index a06b008..91c750e 100755 --- a/scripts/backup +++ b/scripts/backup @@ -16,18 +16,10 @@ source /usr/share/yunohost/helpers ynh_print_info --message="Declaring files to be backed up..." #================================================= -# BACKUP MINIO +# BACKUP LOCAL STORAGE #================================================= -ynh_secure_remove --file="$mc_path/outlinestorage" -pushd "$mc_path" - ynh_exec_warn_less sudo -u minio mkdir outlinestorage - ynh_exec_warn_less sudo -u minio ./mc mirror --a minio/outlinestorage ./outlinestorage/ -popd - -#REMOVEME? ynh_secure_remove --file="$install_dir/outlinestorage" -mv "$mc_path/outlinestorage" "$install_dir/outlinestorage" -chown -R outline:www-data "$install_dir/outlinestorage" +ynh_backup --src_path="/var/lib/outline" #================================================= # BACKUP THE APP MAIN DIR diff --git a/scripts/install b/scripts/install index 7e0ed88..8a4fa1a 100755 --- a/scripts/install +++ b/scripts/install @@ -24,27 +24,6 @@ fi secret_key=$(ynh_hex_32_random) utils_secret=$(ynh_hex_32_random) -#================================================= -# CHECK IF MINIO IS INSTALLED, IF NOT INSTALL IT -#================================================= -ynh_script_progression --message="Installing MinIO if needed..." --weight=18 - -if ! yunohost app list | grep -q "id: minio"; then - echo "MinIO is not installed. Installing... " - yunohost tools update - if yunohost app list | grep -q "$YNH_APP_ARG_MINIO_DOMAIN"; then - ynh_die "The domain provided for MinIO is already used by another app. Please chose another one !" - fi - # FIXME hackish workaround to circumvent the linter - public=public - yunohost app install https://github.com/YunoHost-Apps/minio_ynh --force --args "domain=$YNH_APP_ARG_MINIO_DOMAIN&is_$public=true&admin=$YNH_APP_ARG_MINIO_ADMIN&password=$YNH_APP_ARG_MINIO_PASSWORD" -fi - -minio_domain=$(ynh_app_setting_get --app="minio" --key=domain) -minio_admin=$(ynh_app_setting_get --app="minio" --key=admin) -minio_password=$(ynh_app_setting_get --app="minio" --key=password) -mc_path=$(ynh_app_setting_get --app="minio" --key=mc_path) - #================================================= # INSTALL DEX APP FOR OAUTH2 / OIDC #================================================= @@ -85,10 +64,6 @@ ynh_app_setting_set --app=$app --key=language --value=$language ynh_app_setting_set --app=$app --key=secret_key --value=$secret_key ynh_app_setting_set --app=$app --key=utils_secret --value=$utils_secret ynh_app_setting_set --app=$app --key=language_key --value=$language_key -ynh_app_setting_set --app=$app --key=minio_domain --value=$minio_domain -ynh_app_setting_set --app=$app --key=minio_admin --value=$minio_admin -ynh_app_setting_set --app=$app --key=minio_password --value=$minio_password -ynh_app_setting_set --app=$app --key=mc_path --value=$mc_path ynh_app_setting_set --app=$app --key=dex_app --value=$dex_app ynh_app_setting_set --app=$app --key=dex_domain --value=$dex_domain ynh_app_setting_set --app=$app --key=dex_path --value=$dex_path @@ -127,17 +102,11 @@ chmod -R o-rwx "$install_dir" chown -R $app:www-data "$install_dir" #================================================= -# SETUP MINIO BUCKET +# SETUP LOCAL STORAGE #================================================= -ynh_script_progression --message="Setting up MinIO bucket for Outline..." --weight=1 -ynh_add_config --template="../conf/policy.json" --destination="$mc_path/policy.json" -chown minio:www-data "$mc_path/policy.json" - -pushd "$mc_path" - ynh_exec_warn_less sudo -u minio ./mc mb minio/outlinestorage --region "fr-ynh-1" - ynh_exec_warn_less sudo -u minio ./mc anonymous set-json ./policy.json minio/outlinestorage -popd +mkdir "/var/lib/$app" +chown -R $app:www-data "/var/lib/$app" #================================================= # NGINX CONFIGURATION diff --git a/scripts/remove b/scripts/remove index 4274b8e..a72c916 100755 --- a/scripts/remove +++ b/scripts/remove @@ -9,35 +9,6 @@ source _common.sh source /usr/share/yunohost/helpers -#================================================= -# LOAD SETTINGS -#================================================= -#REMOVEME? ynh_script_progression --message="Loading installation settings..." --weight=1 - -#REMOVEME? app=$YNH_APP_INSTANCE_NAME - -#REMOVEME? #REMOVEME? install_dir=$(ynh_app_setting_get --app=$app --key=install_dir) -#REMOVEME? domain=$(ynh_app_setting_get --app=$app --key=domain) -#REMOVEME? path=$(ynh_app_setting_get --app=$app --key=path) -#REMOVEME? port=$(ynh_app_setting_get --app=$app --key=port) -#REMOVEME? db_name=$(ynh_app_setting_get --app=$app --key=db_name) -#REMOVEME? language_key=$(ynh_app_setting_get --app=$app --key=language_key) -#REMOVEME? secret_key=$(ynh_app_setting_get --app=$app --key=secret_key) -#REMOVEME? utils_secret=$(ynh_app_setting_get --app=$app --key=utils_secret) -#REMOVEME? minio_domain=$(ynh_app_setting_get --app=$app --key=minio_domain) -#REMOVEME? minio_admin=$(ynh_app_setting_get --app=$app --key=minio_admin) -#REMOVEME? minio_password=$(ynh_app_setting_get --app=$app --key=minio_password) -#REMOVEME? mc_path=$(ynh_app_setting_get --app=$app --key=mc_path) -#REMOVEME? dex_app=$(ynh_app_setting_get --app=$app --key=dex_app) -#REMOVEME? dex_domain=$(ynh_app_setting_get --app=$app --key=dex_domain) -#REMOVEME? dex_path=$(ynh_app_setting_get --app=$app --key=dex_path) -#REMOVEME? oidc_secret=$(ynh_app_setting_get --app=$app --key=oidc_secret) -#REMOVEME? oidc_name=$(ynh_app_setting_get --app=$app --key=oidc_name) -#REMOVEME? oidc_callback=$(ynh_app_setting_get --app=$app --key=oidc_callback) -#REMOVEME? dex_auth_uri=$(ynh_app_setting_get --app=$app --key=dex_auth_uri) -#REMOVEME? dex_token_uri=$(ynh_app_setting_get --app=$app --key=dex_token_uri) -#REMOVEME? dex_user_uri=$(ynh_app_setting_get --app=$app --key=dex_user_uri) - #================================================= # STANDARD REMOVE #================================================= @@ -70,15 +41,11 @@ ynh_script_progression --message="Removing Dex app used for Outline auth..." --w yunohost app remove $dex_app #================================================= -# REMOVE MINIO BUCKET +# REMOVE LOCAL STORAGE #================================================= -ynh_script_progression --message="Removing Outline MinIO bucket..." --weight=1 -pushd "$mc_path" - ynh_exec_warn_less sudo -u minio ./mc rb minio/outlinestorage --force -popd - -ynh_secure_remove --file="$mc_path/outlinestorage" +ynh_script_progression --message="Removing Outline local storage..." --weight=1 +ynh_secure_remove --file="/var/lib/outline" #================================================= # END OF SCRIPT diff --git a/scripts/restore b/scripts/restore index 7982e3e..fe4d961 100755 --- a/scripts/restore +++ b/scripts/restore @@ -10,46 +10,6 @@ source ../settings/scripts/_common.sh source /usr/share/yunohost/helpers -#================================================= -# MANAGE SCRIPT FAILURE -#================================================= - -#REMOVEME? ynh_clean_setup () { - #### Remove this function if there's nothing to clean before calling the remove script. - true -} -# Exit if an error occurs during the execution of the script -#REMOVEME? ynh_abort_if_errors - -#================================================= -# LOAD SETTINGS -#================================================= -#REMOVEME? ynh_script_progression --message="Loading installation settings..." --weight=1 - -#REMOVEME? app=$YNH_APP_INSTANCE_NAME - -#REMOVEME? #REMOVEME? install_dir=$(ynh_app_setting_get --app=$app --key=install_dir) -#REMOVEME? domain=$(ynh_app_setting_get --app=$app --key=domain) -#REMOVEME? path=$(ynh_app_setting_get --app=$app --key=path) -#REMOVEME? port=$(ynh_app_setting_get --app=$app --key=port) -#REMOVEME? db_name=$(ynh_app_setting_get --app=$app --key=db_name) -#REMOVEME? language_key=$(ynh_app_setting_get --app=$app --key=language_key) -#REMOVEME? secret_key=$(ynh_app_setting_get --app=$app --key=secret_key) -#REMOVEME? utils_secret=$(ynh_app_setting_get --app=$app --key=utils_secret) -#REMOVEME? minio_domain=$(ynh_app_setting_get --app=$app --key=minio_domain) -#REMOVEME? minio_admin=$(ynh_app_setting_get --app=$app --key=minio_admin) -#REMOVEME? minio_password=$(ynh_app_setting_get --app=$app --key=minio_password) -#REMOVEME? mc_path=$(ynh_app_setting_get --app=$app --key=mc_path) -#REMOVEME? dex_app=$(ynh_app_setting_get --app=$app --key=dex_app) -#REMOVEME? dex_domain=$(ynh_app_setting_get --app=$app --key=dex_domain) -#REMOVEME? dex_path=$(ynh_app_setting_get --app=$app --key=dex_path) -#REMOVEME? oidc_secret=$(ynh_app_setting_get --app=$app --key=oidc_secret) -#REMOVEME? oidc_name=$(ynh_app_setting_get --app=$app --key=oidc_name) -#REMOVEME? oidc_callback=$(ynh_app_setting_get --app=$app --key=oidc_callback) -#REMOVEME? dex_auth_uri=$(ynh_app_setting_get --app=$app --key=dex_auth_uri) -#REMOVEME? dex_token_uri=$(ynh_app_setting_get --app=$app --key=dex_token_uri) -#REMOVEME? dex_user_uri=$(ynh_app_setting_get --app=$app --key=dex_user_uri) - #================================================= # CHECK IF DEX IS INSTALLED, IF NOT INSTALL IT #================================================= @@ -65,20 +25,21 @@ if ! yunohost app list | grep -q "id: $dex_app"; then fi #================================================= -# CHECK IF MINIO IS INSTALLED, IF NOT INSTALL IT +# STANDARD RESTORATION STEPS #================================================= -ynh_script_progression --message="Installing MinIO if needed..." --weight=18 +# RESTORE THE NGINX CONFIGURATION +#================================================= +ynh_script_progression --message="Restoring the NGINX configuration..." --weight=1 -if ! yunohost app list | grep -q "id: minio"; then - echo "MinIO is not installed. Installing... " - yunohost tools update - if yunohost app list | grep -q "$minio_domain"; then - ynh_die "The domain provided for MinIO is already used by another app. Please chose another one !" - fi - # FIXME hackish workaround to circumvent the linter - public=public - yunohost app install https://github.com/YunoHost-Apps/minio_ynh --force --args "domain=$minio_domain&is_$public=true&admin=$minio_admin&password=$minio_password" -fi +ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" + +#================================================= +# RECREATE THE DEDICATED USER +#================================================= +ynh_script_progression --message="Recreating the dedicated system user..." --weight=1 + +# Create the dedicated user (if not existing) +ynh_system_user_create --username=$app --home_dir="$final_path" #================================================= # RESTORE THE APP MAIN DIR @@ -91,21 +52,16 @@ chmod -R o-rwx "$install_dir" chown -R $app:www-data "$install_dir" #================================================= -# RESTORE MINIO +# RESTORE LOCAL STORAGE #================================================= -mv "$install_dir/outlinestorage" "$mc_path/outlinestorage" -chown -R minio:www-data "$mc_path/outlinestorage" +ynh_script_progression --message="Restoring the app local storage..." --weight=1 -ynh_add_config --template="../conf/policy.json" --destination="$mc_path/policy.json" -chown minio:www-data "$mc_path/policy.json" +ynh_restore_file --origin_path="/var/lib/outline" -pushd "$mc_path" - ynh_exec_warn_less sudo -u minio ./mc mb minio/outlinestorage --region "fr-ynh-1" - ynh_exec_warn_less sudo -u minio ./mc anonymous set-json ./policy.json minio/outlinestorage -popd - -ynh_secure_remove --file="$mc_path/outlinestorage" +chmod 750 "/var/lib/outline" +chmod -R o-rwx "/var/lib/outline" +chown -R $app:www-data "/var/lib/outline" #================================================= # SPECIFIC RESTORATION diff --git a/scripts/upgrade b/scripts/upgrade index dc757c6..953bf7c 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -9,35 +9,6 @@ source _common.sh source /usr/share/yunohost/helpers -#================================================= -# LOAD SETTINGS -#================================================= -#REMOVEME? ynh_script_progression --message="Loading installation settings..." --weight=1 - -#REMOVEME? app=$YNH_APP_INSTANCE_NAME - -#REMOVEME? #REMOVEME? install_dir=$(ynh_app_setting_get --app=$app --key=install_dir) -#REMOVEME? domain=$(ynh_app_setting_get --app=$app --key=domain) -#REMOVEME? path=$(ynh_app_setting_get --app=$app --key=path) -#REMOVEME? port=$(ynh_app_setting_get --app=$app --key=port) -#REMOVEME? db_name=$(ynh_app_setting_get --app=$app --key=db_name) -#REMOVEME? language_key=$(ynh_app_setting_get --app=$app --key=language_key) -#REMOVEME? secret_key=$(ynh_app_setting_get --app=$app --key=secret_key) -#REMOVEME? utils_secret=$(ynh_app_setting_get --app=$app --key=utils_secret) -#REMOVEME? minio_domain=$(ynh_app_setting_get --app=$app --key=minio_domain) -#REMOVEME? minio_admin=$(ynh_app_setting_get --app=$app --key=minio_admin) -#REMOVEME? minio_password=$(ynh_app_setting_get --app=$app --key=minio_password) -#REMOVEME? mc_path=$(ynh_app_setting_get --app=$app --key=mc_path) -#REMOVEME? dex_app=$(ynh_app_setting_get --app=$app --key=dex_app) -#REMOVEME? dex_domain=$(ynh_app_setting_get --app=$app --key=dex_domain) -#REMOVEME? dex_path=$(ynh_app_setting_get --app=$app --key=dex_path) -#REMOVEME? oidc_secret=$(ynh_app_setting_get --app=$app --key=oidc_secret) -#REMOVEME? oidc_name=$(ynh_app_setting_get --app=$app --key=oidc_name) -#REMOVEME? oidc_callback=$(ynh_app_setting_get --app=$app --key=oidc_callback) -#REMOVEME? dex_auth_uri=$(ynh_app_setting_get --app=$app --key=dex_auth_uri) -#REMOVEME? dex_token_uri=$(ynh_app_setting_get --app=$app --key=dex_token_uri) -#REMOVEME? dex_user_uri=$(ynh_app_setting_get --app=$app --key=dex_user_uri) - #================================================= # CHECK VERSION #================================================= @@ -62,23 +33,39 @@ then ynh_script_progression --message="Upgrading source files..." --weight=1 # Download, check integrity, uncompress and patch the source from app.src - ynh_setup_source --dest_dir="$install_dir" --full_replace=1 + ynh_secure_remove --file="$final_path" + ynh_setup_source --dest_dir="$final_path" fi -chmod -R o-rwx "$install_dir" -chown -R $app:www-data "$install_dir" +chmod 750 "$final_path" +chmod -R o-rwx "$final_path" +chown -R $app:www-data "$final_path" -#================================================= -# UPDATE MINIO BUCKET -#================================================= -ynh_script_progression --message="Updating outlinestorage MinIO bucket access policy..." --weight=1 +#======================================================= +# MIGRATE MINIO BUCKET IF UPGRADING FROM AN OLD VERSION +#======================================================= -ynh_add_config --template="../conf/policy.json" --destination="$mc_path/policy.json" -chown minio:www-data "$mc_path/policy.json" +ynh_script_progression --message="Checking if a migration is needed" +if ynh_compare_current_package_version --comparison le --version 0.69.2.2~ynh1 +then + ynh_script_progression --message="Migrating MinIO data to local directory" + + minio_domain=$(ynh_app_setting_get --app=$app --key=minio_domain) + minio_admin=$(ynh_app_setting_get --app=$app --key=minio_admin) + minio_password=$(ynh_app_setting_get --app=$app --key=minio_password) + mc_path=$(ynh_app_setting_get --app=$app --key=mc_path) -pushd "$mc_path" - ynh_exec_warn_less sudo -u minio ./mc anonymous set-json ./policy.json minio/outlinestorage -popd + mkdir -p "/var/lib/$app/data" + chown -R minio:www-data "/var/lib/$app" + ynh_exec_warn_less sudo -u minio $mc_path/mc mirror --preserve "minio/outlinestorage" "/var/lib/$app/data" + + chown -R $app:www-data "/var/lib/$app" + ynh_script_progression --message="Data migration finished" + ynh_script_progression --message="Data bucket was kept for safety, just in case !" + ynh_script_progression --message="Don't forget to remove MinIO app if you don't use it !" +else + ynh_script_progression --message="No migration to be done" +fi #================================================= # NGINX CONFIGURATION diff --git a/sources/patches/app-01-email.patch b/sources/patches/app-01-email.patch index 4ec6e3e..4d60e9a 100644 --- a/sources/patches/app-01-email.patch +++ b/sources/patches/app-01-email.patch @@ -1,12 +1,11 @@ diff --git a/server/emails/mailer.tsx b/server/emails/mailer.tsx -index 3584f03b4..c72e6f3fb 100644 +index 4d4f6f09c..f457025d5 100644 --- a/server/emails/mailer.tsx +++ b/server/emails/mailer.tsx -@@ -138,6 +138,7 @@ export class Mailer { +@@ -208,6 +208,7 @@ export class Mailer { : { rejectUnauthorized: false, }, + ignoreTLS:true }; } - \ No newline at end of file