1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/outline_ynh.git synced 2024-09-03 19:56:12 +02:00

Merge branch 'master' into version-2

This commit is contained in:
Limezy 2023-10-02 23:56:03 +07:00
commit eb5f549b95
12 changed files with 109 additions and 227 deletions

View file

@ -21,12 +21,11 @@ The fastest wiki and knowledge base for growing teams. Beautiful, feature rich,
### Features ### Features
- Fully working installation of Outline wiki - 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 - 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 - 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 **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) ![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 ## :red_circle: Antifeatures
- **Not totally free upstream**: The packaged app is under an overall free licence, but with clauses that restrict its use. - **Not totally free upstream**: The packaged app is under an overall free licence, but with clauses that restrict its use.

View file

@ -21,12 +21,11 @@ The fastest wiki and knowledge base for growing teams. Beautiful, feature rich,
### Features ### Features
- Fully working installation of Outline wiki - 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 - 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 - 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 **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) ![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 ## :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. - **Not totally free upstream**: The packaged app is under an overall free licence, but with clauses that restrict its use.

View file

@ -29,14 +29,8 @@ PORT=__PORT__
# A more detailed guide on setting up S3 is available here: # A more detailed guide on setting up S3 is available here:
# => https://wiki.generaloutline.com/share/125de1cc-9ff6-424b-8415-0d58c809a40f # => https://wiki.generaloutline.com/share/125de1cc-9ff6-424b-8415-0d58c809a40f
# #
AWS_ACCESS_KEY_ID=__MINIO_ADMIN__ FILE_STORAGE=local
AWS_SECRET_ACCESS_KEY=__MINIO_PASSWORD__ FILE_STORAGE_UPLOAD_MAX_SIZE=106214400
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
# AUTHENTICATION # AUTHENTICATION

View file

@ -1,20 +0,0 @@
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowPublicRead",
"Effect": "Allow",
"Principal": {
"AWS": [
"*"
]
},
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::outlinestorage/public/*"
]
}
]
}

View file

@ -1,16 +1,15 @@
### Not totally free licence ### Not totally free licence
Outline is a softwared licenced under [BUSL 1.1 licence](https://spdx.org/licenses/BUSL-1.1.html). 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. ⚠️ 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 ### 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** 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 [MinIO app](https://github.com/YunoHost-apps/minio_ynh) to be installed (MinIO installation and setup is automatic, though) 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 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. 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. 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
6. 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 ### How to create an admin user

View file

@ -3,6 +3,5 @@ The fastest wiki and knowledge base for growing teams. Beautiful, feature rich,
### Features ### Features
- Fully working installation of Outline wiki - 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 - 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 - Using Yunohost's built-in SMTP server for notifications

View file

@ -16,18 +16,10 @@ source /usr/share/yunohost/helpers
ynh_print_info --message="Declaring files to be backed up..." ynh_print_info --message="Declaring files to be backed up..."
#================================================= #=================================================
# BACKUP MINIO # BACKUP LOCAL STORAGE
#================================================= #=================================================
ynh_secure_remove --file="$mc_path/outlinestorage" ynh_backup --src_path="/var/lib/outline"
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"
#================================================= #=================================================
# BACKUP THE APP MAIN DIR # BACKUP THE APP MAIN DIR

View file

@ -24,27 +24,6 @@ fi
secret_key=$(ynh_hex_32_random) secret_key=$(ynh_hex_32_random)
utils_secret=$(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 # 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=secret_key --value=$secret_key
ynh_app_setting_set --app=$app --key=utils_secret --value=$utils_secret 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=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_app --value=$dex_app
ynh_app_setting_set --app=$app --key=dex_domain --value=$dex_domain ynh_app_setting_set --app=$app --key=dex_domain --value=$dex_domain
ynh_app_setting_set --app=$app --key=dex_path --value=$dex_path 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" 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" mkdir "/var/lib/$app"
chown minio:www-data "$mc_path/policy.json" chown -R $app:www-data "/var/lib/$app"
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
#================================================= #=================================================
# NGINX CONFIGURATION # NGINX CONFIGURATION

View file

@ -9,35 +9,6 @@
source _common.sh source _common.sh
source /usr/share/yunohost/helpers 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 # STANDARD REMOVE
#================================================= #=================================================
@ -70,15 +41,11 @@ ynh_script_progression --message="Removing Dex app used for Outline auth..." --w
yunohost app remove $dex_app 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_script_progression --message="Removing Outline local storage..." --weight=1
ynh_exec_warn_less sudo -u minio ./mc rb minio/outlinestorage --force ynh_secure_remove --file="/var/lib/outline"
popd
ynh_secure_remove --file="$mc_path/outlinestorage"
#================================================= #=================================================
# END OF SCRIPT # END OF SCRIPT

View file

@ -10,46 +10,6 @@
source ../settings/scripts/_common.sh source ../settings/scripts/_common.sh
source /usr/share/yunohost/helpers 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 # CHECK IF DEX IS INSTALLED, IF NOT INSTALL IT
#================================================= #=================================================
@ -65,20 +25,21 @@ if ! yunohost app list | grep -q "id: $dex_app"; then
fi 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 ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf"
echo "MinIO is not installed. Installing... "
yunohost tools update #=================================================
if yunohost app list | grep -q "$minio_domain"; then # RECREATE THE DEDICATED USER
ynh_die "The domain provided for MinIO is already used by another app. Please chose another one !" #=================================================
fi ynh_script_progression --message="Recreating the dedicated system user..." --weight=1
# FIXME hackish workaround to circumvent the linter
public=public # Create the dedicated user (if not existing)
yunohost app install https://github.com/YunoHost-Apps/minio_ynh --force --args "domain=$minio_domain&is_$public=true&admin=$minio_admin&password=$minio_password" ynh_system_user_create --username=$app --home_dir="$final_path"
fi
#================================================= #=================================================
# RESTORE THE APP MAIN DIR # RESTORE THE APP MAIN DIR
@ -91,21 +52,16 @@ chmod -R o-rwx "$install_dir"
chown -R $app:www-data "$install_dir" chown -R $app:www-data "$install_dir"
#================================================= #=================================================
# RESTORE MINIO # RESTORE LOCAL STORAGE
#================================================= #=================================================
mv "$install_dir/outlinestorage" "$mc_path/outlinestorage" ynh_script_progression --message="Restoring the app local storage..." --weight=1
chown -R minio:www-data "$mc_path/outlinestorage"
ynh_add_config --template="../conf/policy.json" --destination="$mc_path/policy.json" ynh_restore_file --origin_path="/var/lib/outline"
chown minio:www-data "$mc_path/policy.json"
pushd "$mc_path" chmod 750 "/var/lib/outline"
ynh_exec_warn_less sudo -u minio ./mc mb minio/outlinestorage --region "fr-ynh-1" chmod -R o-rwx "/var/lib/outline"
ynh_exec_warn_less sudo -u minio ./mc anonymous set-json ./policy.json minio/outlinestorage chown -R $app:www-data "/var/lib/outline"
popd
ynh_secure_remove --file="$mc_path/outlinestorage"
#================================================= #=================================================
# SPECIFIC RESTORATION # SPECIFIC RESTORATION

View file

@ -9,35 +9,6 @@
source _common.sh source _common.sh
source /usr/share/yunohost/helpers 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 # CHECK VERSION
#================================================= #=================================================
@ -62,23 +33,39 @@ then
ynh_script_progression --message="Upgrading source files..." --weight=1 ynh_script_progression --message="Upgrading source files..." --weight=1
# Download, check integrity, uncompress and patch the source from app.src # 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 fi
chmod -R o-rwx "$install_dir" chmod 750 "$final_path"
chown -R $app:www-data "$install_dir" chmod -R o-rwx "$final_path"
chown -R $app:www-data "$final_path"
#================================================= #=======================================================
# UPDATE MINIO BUCKET # MIGRATE MINIO BUCKET IF UPGRADING FROM AN OLD VERSION
#================================================= #=======================================================
ynh_script_progression --message="Updating outlinestorage MinIO bucket access policy..." --weight=1
ynh_add_config --template="../conf/policy.json" --destination="$mc_path/policy.json" ynh_script_progression --message="Checking if a migration is needed"
chown minio:www-data "$mc_path/policy.json" 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"
pushd "$mc_path" minio_domain=$(ynh_app_setting_get --app=$app --key=minio_domain)
ynh_exec_warn_less sudo -u minio ./mc anonymous set-json ./policy.json minio/outlinestorage minio_admin=$(ynh_app_setting_get --app=$app --key=minio_admin)
popd minio_password=$(ynh_app_setting_get --app=$app --key=minio_password)
mc_path=$(ynh_app_setting_get --app=$app --key=mc_path)
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 # NGINX CONFIGURATION

View file

@ -1,12 +1,11 @@
diff --git a/server/emails/mailer.tsx b/server/emails/mailer.tsx 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 --- a/server/emails/mailer.tsx
+++ b/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, rejectUnauthorized: false,
}, },
+ ignoreTLS:true + ignoreTLS:true
}; };
} }