mirror of
https://github.com/YunoHost-Apps/outline_ynh.git
synced 2024-09-03 19:56:12 +02:00
Merge pull request #36 from Limezy/remove-warnings
Remove warnings + Adapt install to MinIO & Dex changes + Change licence to go into the official catalog
This commit is contained in:
commit
18b6a9079e
9 changed files with 51 additions and 21 deletions
|
@ -33,8 +33,8 @@ COLLABORATION_URL=
|
||||||
# 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
|
AWS_ACCESS_KEY_ID=__MINIO_ADMIN__
|
||||||
AWS_SECRET_ACCESS_KEY=__MINIO_KEY__
|
AWS_SECRET_ACCESS_KEY=__MINIO_PASSWORD__
|
||||||
AWS_REGION=fr-ynh-1
|
AWS_REGION=fr-ynh-1
|
||||||
AWS_S3_UPLOAD_BUCKET_URL=https://__MINIO_DOMAIN__
|
AWS_S3_UPLOAD_BUCKET_URL=https://__MINIO_DOMAIN__
|
||||||
AWS_S3_UPLOAD_BUCKET_NAME=outlinestorage
|
AWS_S3_UPLOAD_BUCKET_NAME=outlinestorage
|
||||||
|
|
|
@ -1,9 +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.62.0) will be released under Apache-2.0 licence [after March 1st 2026](https://github.com/outline/outline/blob/7216551164536e8abddfabc95b785ef5f8d51de7/LICENSE).
|
||||||
|
|
||||||
### Known limitations
|
### Known limitations
|
||||||
|
|
||||||
1. Because this app can't yet run in the CI server, its integration level is unkonwn at the moment and standard Yunohost packages testing couldn't run yet. **Please don't use it on a prod server**
|
1. Because this app can't yet run in the CI server, its integration level is unkonwn at the moment and standard Yunohost packages testing couldn't run yet. **Please don't use it yet on a prod server**
|
||||||
2. The app requires MinIO app to be installed (MinIO installation is automatic, though)
|
2. The app requires MinIO app to be installed (MinIO installation and setup is automatic, though)
|
||||||
|
3. The app requires Dex app 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)
|
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 supported (and may never be as Outline was built for AMD64)
|
4. ARM architectures are not yet supported (But it should be achievable)
|
||||||
6. 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
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
"version": "0.62.0~ynh1",
|
"version": "0.62.0~ynh1",
|
||||||
"url": "www.getoutline.com",
|
"url": "www.getoutline.com",
|
||||||
"upstream": {
|
"upstream": {
|
||||||
"license": "BSL 1.1",
|
"license": "BUSL-1.1",
|
||||||
"website": "www.getoutline.com",
|
"website": "www.getoutline.com",
|
||||||
"demo": "https://app.getoutline.com/create",
|
"demo": "https://app.getoutline.com/create",
|
||||||
"admindoc": "https://www.getoutline.com/developers",
|
"admindoc": "https://www.getoutline.com/developers",
|
||||||
|
@ -66,7 +66,18 @@
|
||||||
"name": "minio_domain",
|
"name": "minio_domain",
|
||||||
"type": "domain",
|
"type": "domain",
|
||||||
"example": "docs.domain.tld",
|
"example": "docs.domain.tld",
|
||||||
"ask": "Domain for Minio app, used for images and attachements storage. If not yet installed, it will automatically be. Minio has to be installed at the root"
|
"ask": "Domain for MinIO app, used for images and attachements storage. If not yet installed, it will automatically be. Minio has to be installed at the root"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "minio_admin",
|
||||||
|
"type": "user",
|
||||||
|
"ask": "Admin for MinIO app, used for images and attachements storage. Please note that if MinIO is already installed, that setting won't be used"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "minio_password",
|
||||||
|
"type": "password",
|
||||||
|
"example": "docs.domain.tld",
|
||||||
|
"ask": "Domain for MinIO app, used for images and attachements storage. Please note that if MinIO is already installed, that setting won't be used"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,6 +37,8 @@ language_key=$(ynh_app_setting_get --app=$app --key=language_key)
|
||||||
secret_key=$(ynh_app_setting_get --app=$app --key=secret_key)
|
secret_key=$(ynh_app_setting_get --app=$app --key=secret_key)
|
||||||
utils_secret=$(ynh_app_setting_get --app=$app --key=utils_secret)
|
utils_secret=$(ynh_app_setting_get --app=$app --key=utils_secret)
|
||||||
minio_domain=$(ynh_app_setting_get --app="minio" --key=domain)
|
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)
|
||||||
minio_key=$(ynh_app_setting_get --app="minio" --key=minio_key)
|
minio_key=$(ynh_app_setting_get --app="minio" --key=minio_key)
|
||||||
mc_path=$(ynh_app_setting_get --app="minio" --key=mc_path)
|
mc_path=$(ynh_app_setting_get --app="minio" --key=mc_path)
|
||||||
dex_domain=$(ynh_app_setting_get --app="minio" --key=dex_domain)
|
dex_domain=$(ynh_app_setting_get --app="minio" --key=dex_domain)
|
||||||
|
|
|
@ -36,6 +36,8 @@ language_key=$(ynh_app_setting_get --app=$app --key=language_key)
|
||||||
secret_key=$(ynh_app_setting_get --app=$app --key=secret_key)
|
secret_key=$(ynh_app_setting_get --app=$app --key=secret_key)
|
||||||
utils_secret=$(ynh_app_setting_get --app=$app --key=utils_secret)
|
utils_secret=$(ynh_app_setting_get --app=$app --key=utils_secret)
|
||||||
minio_domain=$(ynh_app_setting_get --app="minio" --key=domain)
|
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)
|
||||||
minio_key=$(ynh_app_setting_get --app="minio" --key=minio_key)
|
minio_key=$(ynh_app_setting_get --app="minio" --key=minio_key)
|
||||||
mc_path=$(ynh_app_setting_get --app="minio" --key=mc_path)
|
mc_path=$(ynh_app_setting_get --app="minio" --key=mc_path)
|
||||||
dex_domain=$(ynh_app_setting_get --app="minio" --key=dex_domain)
|
dex_domain=$(ynh_app_setting_get --app="minio" --key=dex_domain)
|
||||||
|
|
|
@ -54,15 +54,17 @@ if ! yunohost app list | grep -q "id: minio"; then
|
||||||
if yunohost app list | grep -q "$YNH_APP_ARG_MINIO_DOMAIN"; then
|
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 !"
|
ynh_die "The domain provided for MinIO is already used by another app. Please chose another one !"
|
||||||
fi
|
fi
|
||||||
yunohost app install https://github.com/YunoHost-Apps/minio_ynh --force --args "domain=$YNH_APP_ARG_MINIO_DOMAIN&is_public=true&language=en"
|
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
|
fi
|
||||||
|
|
||||||
minio_domain=$(ynh_app_setting_get --app="minio" --key=domain)
|
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)
|
||||||
minio_key=$(ynh_app_setting_get --app="minio" --key=minio_key)
|
minio_key=$(ynh_app_setting_get --app="minio" --key=minio_key)
|
||||||
mc_path=$(ynh_app_setting_get --app="minio" --key=mc_path)
|
mc_path=$(ynh_app_setting_get --app="minio" --key=mc_path)
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# CHECK IF MINIO IS INSTALLED, IF NOT INSTALL IT
|
# INSTALL DEX APP FOR OAUTH2 / OIDC
|
||||||
#=================================================
|
#=================================================
|
||||||
ynh_script_progression --message="Installing Dex..." --weight=18
|
ynh_script_progression --message="Installing Dex..." --weight=18
|
||||||
|
|
||||||
|
@ -78,9 +80,9 @@ fi
|
||||||
|
|
||||||
yunohost app install https://github.com/YunoHost-Apps/dex_ynh --force --args "domain=$dex_domain&path=$dex_path&OIDC_name=$oidc_name&OIDC_secret=$oidc_secret&OIDC_callback=$oidc_callback"
|
yunohost app install https://github.com/YunoHost-Apps/dex_ynh --force --args "domain=$dex_domain&path=$dex_path&OIDC_name=$oidc_name&OIDC_secret=$oidc_secret&OIDC_callback=$oidc_callback"
|
||||||
|
|
||||||
#=================================================
|
#===================================================
|
||||||
# CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS
|
# CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS
|
||||||
#=================================================
|
#===================================================
|
||||||
ynh_script_progression --message="Validating installation parameters..." --weight=1
|
ynh_script_progression --message="Validating installation parameters..." --weight=1
|
||||||
|
|
||||||
final_path=/opt/yunohost/$app
|
final_path=/opt/yunohost/$app
|
||||||
|
@ -190,15 +192,15 @@ ynh_add_nginx_config
|
||||||
pushd "$final_path"
|
pushd "$final_path"
|
||||||
ynh_use_nodejs
|
ynh_use_nodejs
|
||||||
ynh_script_progression --message="Fetching Yarn dev dependencies... This can be very long, be patient !" --weight=18
|
ynh_script_progression --message="Fetching Yarn dev dependencies... This can be very long, be patient !" --weight=18
|
||||||
ynh_exec_warn_less sudo -u $app env $ynh_node_load_PATH yarn install --no-optional --frozen-lockfile
|
ynh_exec_warn_less sudo -u $app env $ynh_node_load_PATH yarn install --no-optional --frozen-lockfile 2>&1
|
||||||
ynh_script_progression --message="Cleaning cache... " --weight=3
|
ynh_script_progression --message="Cleaning cache... " --weight=3
|
||||||
ynh_exec_warn_less sudo -u $app env $ynh_node_load_PATH yarn cache clean
|
ynh_exec_warn_less sudo -u $app env $ynh_node_load_PATH yarn cache clean 2>&1
|
||||||
ynh_script_progression --message="Building Yarn dev dependencies... This can be very long, be patient !" --weight=18
|
ynh_script_progression --message="Building Yarn dev dependencies... This can be very long, be patient !" --weight=18
|
||||||
ynh_exec_warn_less sudo -u $app env $ynh_node_load_PATH yarn build
|
ynh_exec_warn_less sudo -u $app env $ynh_node_load_PATH yarn build 2>&1
|
||||||
ynh_script_progression --message="Fetching Yarn production dependencies... This can be very long, be patient !" --weight=18
|
ynh_script_progression --message="Fetching Yarn production dependencies... This can be very long, be patient !" --weight=18
|
||||||
ynh_exec_warn_less sudo -u $app env $ynh_node_load_PATH yarn install --production=true --frozen-lockfile
|
ynh_exec_warn_less sudo -u $app env $ynh_node_load_PATH yarn install --production=true --frozen-lockfile 2>&1
|
||||||
ynh_script_progression --message="Cleaning cache... " --weight=3
|
ynh_script_progression --message="Cleaning cache... " --weight=3
|
||||||
ynh_exec_warn_less sudo -u $app env $ynh_node_load_PATH yarn cache clean
|
ynh_exec_warn_less sudo -u $app env $ynh_node_load_PATH yarn cache clean 2>&1
|
||||||
popd
|
popd
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
|
@ -24,6 +24,8 @@ language_key=$(ynh_app_setting_get --app=$app --key=language_key)
|
||||||
secret_key=$(ynh_app_setting_get --app=$app --key=secret_key)
|
secret_key=$(ynh_app_setting_get --app=$app --key=secret_key)
|
||||||
utils_secret=$(ynh_app_setting_get --app=$app --key=utils_secret)
|
utils_secret=$(ynh_app_setting_get --app=$app --key=utils_secret)
|
||||||
minio_domain=$(ynh_app_setting_get --app="minio" --key=domain)
|
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)
|
||||||
minio_key=$(ynh_app_setting_get --app="minio" --key=minio_key)
|
minio_key=$(ynh_app_setting_get --app="minio" --key=minio_key)
|
||||||
mc_path=$(ynh_app_setting_get --app="minio" --key=mc_path)
|
mc_path=$(ynh_app_setting_get --app="minio" --key=mc_path)
|
||||||
dex_domain=$(ynh_app_setting_get --app="minio" --key=dex_domain)
|
dex_domain=$(ynh_app_setting_get --app="minio" --key=dex_domain)
|
||||||
|
@ -118,4 +120,5 @@ ynh_system_user_delete --username=$app
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
ynh_script_progression --message="If you don't need it anymore, don't forget to remove the MinIO app !"
|
ynh_script_progression --message="If you don't need it anymore, don't forget to remove the MinIO app !"
|
||||||
|
ynh_script_progression --message="If you don't need it anymore, don't forget to remove the Dex app !"
|
||||||
ynh_script_progression --message="Removal of $app completed" --time --last
|
ynh_script_progression --message="Removal of $app completed" --time --last
|
||||||
|
|
|
@ -46,6 +46,8 @@ language_key=$(ynh_app_setting_get --app=$app --key=language_key)
|
||||||
secret_key=$(ynh_app_setting_get --app=$app --key=secret_key)
|
secret_key=$(ynh_app_setting_get --app=$app --key=secret_key)
|
||||||
utils_secret=$(ynh_app_setting_get --app=$app --key=utils_secret)
|
utils_secret=$(ynh_app_setting_get --app=$app --key=utils_secret)
|
||||||
minio_domain=$(ynh_app_setting_get --app="minio" --key=domain)
|
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)
|
||||||
minio_key=$(ynh_app_setting_get --app="minio" --key=minio_key)
|
minio_key=$(ynh_app_setting_get --app="minio" --key=minio_key)
|
||||||
mc_path=$(ynh_app_setting_get --app="minio" --key=mc_path)
|
mc_path=$(ynh_app_setting_get --app="minio" --key=mc_path)
|
||||||
dex_domain=$(ynh_app_setting_get --app="minio" --key=dex_domain)
|
dex_domain=$(ynh_app_setting_get --app="minio" --key=dex_domain)
|
||||||
|
|
|
@ -25,6 +25,8 @@ language_key=$(ynh_app_setting_get --app=$app --key=language_key)
|
||||||
secret_key=$(ynh_app_setting_get --app=$app --key=secret_key)
|
secret_key=$(ynh_app_setting_get --app=$app --key=secret_key)
|
||||||
utils_secret=$(ynh_app_setting_get --app=$app --key=utils_secret)
|
utils_secret=$(ynh_app_setting_get --app=$app --key=utils_secret)
|
||||||
minio_domain=$(ynh_app_setting_get --app="minio" --key=domain)
|
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)
|
||||||
minio_key=$(ynh_app_setting_get --app="minio" --key=minio_key)
|
minio_key=$(ynh_app_setting_get --app="minio" --key=minio_key)
|
||||||
mc_path=$(ynh_app_setting_get --app="minio" --key=mc_path)
|
mc_path=$(ynh_app_setting_get --app="minio" --key=mc_path)
|
||||||
dex_domain=$(ynh_app_setting_get --app="minio" --key=dex_domain)
|
dex_domain=$(ynh_app_setting_get --app="minio" --key=dex_domain)
|
||||||
|
@ -115,15 +117,15 @@ ynh_script_progression --message="Building Yarn dependencies... This can be very
|
||||||
pushd "$final_path"
|
pushd "$final_path"
|
||||||
ynh_use_nodejs
|
ynh_use_nodejs
|
||||||
ynh_script_progression --message="Fetching Yarn dev dependencies... This can be very long, be patient !" --time --weight=5
|
ynh_script_progression --message="Fetching Yarn dev dependencies... This can be very long, be patient !" --time --weight=5
|
||||||
ynh_exec_warn_less sudo -u $app env $ynh_node_load_PATH yarn install --no-optional --frozen-lockfile
|
ynh_exec_warn_less sudo -u $app env $ynh_node_load_PATH yarn install --no-optional --frozen-lockfile 2>&1
|
||||||
ynh_script_progression --message="Cleaning cache... " --time --weight=1
|
ynh_script_progression --message="Cleaning cache... " --time --weight=1
|
||||||
ynh_exec_warn_less sudo -u $app env $ynh_node_load_PATH yarn cache clean
|
ynh_exec_warn_less sudo -u $app env $ynh_node_load_PATH yarn cache clean 2>&1
|
||||||
ynh_script_progression --message="Building Yarn dev dependencies... This can be very long, be patient !" --time --weight=5
|
ynh_script_progression --message="Building Yarn dev dependencies... This can be very long, be patient !" --time --weight=5
|
||||||
ynh_exec_warn_less sudo -u $app env $ynh_node_load_PATH yarn build
|
ynh_exec_warn_less sudo -u $app env $ynh_node_load_PATH yarn build 2>&1
|
||||||
ynh_script_progression --message="Fetching Yarn production dependencies... This can be very long, be patient !" --time --weight=5
|
ynh_script_progression --message="Fetching Yarn production dependencies... This can be very long, be patient !" --time --weight=5
|
||||||
ynh_exec_warn_less sudo -u $app env $ynh_node_load_PATH yarn install --production=true --frozen-lockfile
|
ynh_exec_warn_less sudo -u $app env $ynh_node_load_PATH yarn install --production=true --frozen-lockfile 2>&1
|
||||||
ynh_script_progression --message="Cleaning cache... " --time --weight=1
|
ynh_script_progression --message="Cleaning cache... " --time --weight=1
|
||||||
ynh_exec_warn_less sudo -u $app env $ynh_node_load_PATH yarn cache clean
|
ynh_exec_warn_less sudo -u $app env $ynh_node_load_PATH yarn cache clean 2>&1
|
||||||
popd
|
popd
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
Loading…
Reference in a new issue