From 589bdadc69528ea3ec73eae7328e7174d64237fd Mon Sep 17 00:00:00 2001 From: yalh76 Date: Fri, 14 Jan 2022 22:50:18 +0100 Subject: [PATCH 1/3] Upgrade to 5.93~ynh1 --- README.md | 2 +- README_fr.md | 2 +- check_process | 6 +++++- conf/arm64.src | 10 +++++----- conf/x86-64.src | 10 +++++----- manifest.json | 2 +- 6 files changed, 18 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 49d7aaa..03aa376 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Trello-like kanban -**Shipped version:** 5.35~ynh1 +**Shipped version:** 5.93~ynh1 diff --git a/README_fr.md b/README_fr.md index cc0808b..329ee76 100644 --- a/README_fr.md +++ b/README_fr.md @@ -13,7 +13,7 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour Un kanban similaire à Trello -**Version incluse :** 5.35~ynh1 +**Version incluse :** 5.93~ynh1 diff --git a/check_process b/check_process index dc2249e..d37634b 100644 --- a/check_process +++ b/check_process @@ -29,7 +29,9 @@ # 5.00~ynh1 #upgrade=1 from_commit=8655e8062d1bc6e90b01b98ca9a0dea15d60119e # 5.17~ynh1 - #upgrade=1 from_commit=8cdb28eff25b8b431635b87f92f96f8e216ad71f + upgrade=1 from_commit=8cdb28eff25b8b431635b87f92f96f8e216ad71f + # 5.35~ynh1 + upgrade=1 from_commit=2e9c8be6b87d5c4cd6693e7b3c0c05cfc7d1ac51 backup_restore=1 multi_instance=1 port_already_use=0 @@ -56,3 +58,5 @@ Notification=down name=5.00~ynh1 ; commit=8cdb28eff25b8b431635b87f92f96f8e216ad71f name=5.17~ynh1 + ; commit=2e9c8be6b87d5c4cd6693e7b3c0c05cfc7d1ac51 + name=5.35~ynh1 diff --git a/conf/arm64.src b/conf/arm64.src index 2696218..dd5fb91 100644 --- a/conf/arm64.src +++ b/conf/arm64.src @@ -1,9 +1,9 @@ # This is on YunoHost server just to avoid the file from disappearing -# Original source is https://releases.wekan.team/raspi3/wekan-5.35-arm64.zip -# YunoHost source is https://build.yunohost.org/apps/wekan-5.35-arm64.zip -SOURCE_URL=https://build.yunohost.org/apps/wekan-5.35-arm64.zip -SOURCE_SUM=afd00947c25965ec5c8dbacaf97d666ef03a5350802587951c0a866e77c4ebae +# Original source is https://releases.wekan.team/raspi3/wekan-5.93-arm64.zip +# YunoHost source is https://build.yunohost.org/apps/wekan-5.93-arm64.zip +SOURCE_URL=https://build.yunohost.org/apps/wekan-5.93-arm64.zip +SOURCE_SUM=d015d2d128d1c9d1f71ba773f9e3914c97fb82e9b2c5d2a5bd5fdf23377a9980 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=zip SOURCE_IN_SUBDIR=true -SOURCE_FILENAME=wekan-5.35-arm64.zip +SOURCE_FILENAME=wekan-5.93-arm64.zip diff --git a/conf/x86-64.src b/conf/x86-64.src index 1f58780..e6377b4 100644 --- a/conf/x86-64.src +++ b/conf/x86-64.src @@ -1,9 +1,9 @@ # This is on YunoHost server just to avoid the file from disappearing -# Original source is https://releases.wekan.team/wekan-5.35.zip -# YunoHost source is https://build.yunohost.org/apps/wekan-5.35.zip -SOURCE_URL=https://build.yunohost.org/apps/wekan-5.35.zip -SOURCE_SUM=77746ab4788ee43f1187d8f6603d1a8cf229250831b85971a335b32db1499d8f +# Original source is https://releases.wekan.team/wekan-5.93.zip +# YunoHost source is https://build.yunohost.org/apps/wekan-5.93.zip +SOURCE_URL=https://build.yunohost.org/apps/wekan-5.93.zip +SOURCE_SUM=de973b8be8e7dd938bccf6670455fac3260ce4aa59bd4ee890d6a3ce073c5275 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=zip SOURCE_IN_SUBDIR=true -SOURCE_FILENAME=wekan-5.35.zip +SOURCE_FILENAME=wekan-5.93.zip diff --git a/manifest.json b/manifest.json index 6a4936e..15855f3 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Trello-like kanban", "fr": "Un kanban similaire à Trello" }, - "version": "5.35~ynh1", + "version": "5.93~ynh1", "url": "https://wekan.github.io", "upstream": { "license": "MIT", From 18a44e2a59a1e517b7e51395d6b01d74de04ea82 Mon Sep 17 00:00:00 2001 From: yalh76 Date: Fri, 14 Jan 2022 23:12:42 +0100 Subject: [PATCH 2/3] More Upgrade to 5.93~ynh1 --- conf/.env | 107 ++++++++++++++++++++++++++++++++++++++------- scripts/_common.sh | 2 +- 2 files changed, 92 insertions(+), 17 deletions(-) diff --git a/conf/.env b/conf/.env index d376d19..d2b0269 100644 --- a/conf/.env +++ b/conf/.env @@ -24,14 +24,21 @@ ROOT_URL='https://__DOMAIN____PATH__' # https://github.com/wekan/wekan-mongodb/blob/master/docker-compose.yml MAIL_URL='smtp://localhost:25/' MAIL_FROM='Wekan Support ' +# Currently MAIL_SERVICE is not in use. +#MAIL_SERVICE=Outlook365 +#MAIL_SERVICE_USER=firstname.lastname@hotmail.com +#MAIL_SERVICE_PASSWORD=SecretPassword #--------------------------------------------- #KADIRA_OPTIONS_ENDPOINT=http://127.0.0.1:11011 #--------------------------------------------- # This is local port where Wekan Node.js runs, same as below on Caddyfile settings. PORT=__PORT__ #--------------------------------------------- -# Wekan Export Board works when WITH_API=true. -# If you disable Wekan API with false, Export Board does not work. +# ==== NUMBER OF SEARCH RESULTS PER PAGE BY DEFAULT ==== +#RESULTS_PER_PAGE=20 +#--------------------------------------------- +# Wekan Board works when WITH_API=true. +# If you disable Wekan API with false, Board does not work. WITH_API='true' #--------------------------------------------------------------- # ==== PASSWORD BRUTE FORCE PROTECTION ==== @@ -44,6 +51,11 @@ WITH_API='true' #ACCOUNTS_LOCKOUT_UNKNOWN_USERS_LOCKOUT_PERIOD=60 #ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURE_WINDOW=15 #--------------------------------------------------------------- +# ==== ACCOUNT OPTIONS ==== +# https://docs.meteor.com/api/accounts-multi.html#AccountsCommon-config +# Defaults below. Uncomment to change. wekan/server/accounts-common.js +# - ACCOUNTS_COMMON_LOGIN_EXPIRATION_IN_DAYS=90 +#--------------------------------------------------------------- # ==== RICH TEXT EDITOR IN CARD COMMENTS ==== # https://github.com/wekan/wekan/pull/2560 RICHER_CARD_COMMENT_EDITOR=true @@ -70,26 +82,26 @@ CARD_OPENED_WEBHOOK_ENABLED=false # disable the feature by setting this variable to "NONE" or # change the pattern to any valid regex. i.e. '|' delimited # activityType names. -# a) Example +# a) Example #BIGEVENTS_PATTERN=due # b) All #BIGEVENTS_PATTERN=received|start|due|end # c) Disabled BIGEVENTS_PATTERN=NONE #--------------------------------------------------------------- -# ==== EMAIL DUE DATE NOTIFICATION ===== +# ==== EMAIL DUE DATE NOTIFICATION ===== # https://github.com/wekan/wekan/pull/2536 # System timelines will be showing any user modification for # dueat startat endat receivedat, also notification to # the watchers and if any card is due, about due or past due. -# -# Notify due days, default is None. +# +# Notify due days, default is None. #NOTIFY_DUE_DAYS_BEFORE_AND_AFTER=2,0 # it will notify user 2 days before due day and on the due day -# +# # Notify due at hour of day. Default every morning at 8am. Can be 0-23. # If env variable has parsing error, use default. Notification sent to watchers. -# NOTIFY_DUE_AT_HOUR_OF_DAY=8 +#NOTIFY_DUE_AT_HOUR_OF_DAY=8 #----------------------------------------------------------------- # ==== EMAIL NOTIFICATION TIMEOUT, ms ===== # Defaut: 30000 ms = 30s @@ -115,6 +127,7 @@ BIGEVENTS_PATTERN=NONE # The option that allows matomo to retrieve the username: # Example: MATOMO_WITH_USERNAME=true #MATOMO_WITH_USERNAME='false' +#--------------------------------------------- # Enable browser policy and allow one trusted URL that can have iframe that has Wekan embedded inside. # Setting this to false is not recommended, it also disables all other browser policy protections # and allows all iframing etc. See wekan/server/policy.js @@ -137,27 +150,36 @@ WEBHOOKS_ATTRIBUTES='' # 2) Configure the environment variables. This differs slightly # by installation type, but make sure you have the following: #OAUTH2_ENABLED=true +# # Optional OAuth2 CA Cert, see https://github.com/wekan/wekan/issues/3299 #OAUTH2_CA_CERT=ABCD1234 +# # Use OAuth2 ADFS additional changes. Also needs OAUTH2_ENABLED=true setting. #OAUTH2_ADFS_ENABLED=false +# # OAuth2 docs: https://github.com/wekan/wekan/wiki/OAuth2 # OAuth2 login style: popup or redirect. #OAUTH2_LOGIN_STYLE=redirect +# # Application GUID captured during app registration: #OAUTH2_CLIENT_ID=xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx +# # Secret key generated during app registration: #OAUTH2_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx #OAUTH2_SERVER_URL=https://login.microsoftonline.com/ #OAUTH2_AUTH_ENDPOINT=/oauth2/v2.0/authorize #OAUTH2_USERINFO_ENDPOINT=https://graph.microsoft.com/oidc/userinfo #OAUTH2_TOKEN_ENDPOINT=/oauth2/v2.0/token +# # The claim name you want to map to the unique ID field: #OAUTH2_ID_MAP=email +# # The claim name you want to map to the username field: #OAUTH2_USERNAME_MAP=email +# # The claim name you want to map to the full name field: #OAUTH2_FULLNAME_MAP=name +# # The claim name you want to map to the email field: #OAUTH2_EMAIL_MAP=email #----------------------------------------------------------------- @@ -179,30 +201,43 @@ WEBHOOKS_ATTRIBUTES='' # https://github.com/wekan/wekan/wiki/OAuth2 # Enable the OAuth2 connection #OAUTH2_ENABLED=true +# # OAuth2 login style: popup or redirect. #OAUTH2_LOGIN_STYLE=redirect +# # OAuth2 Client ID. #OAUTH2_CLIENT_ID=abcde12345 +# # OAuth2 Secret. #OAUTH2_SECRET=54321abcde +# # OAuth2 Server URL. #OAUTH2_SERVER_URL=https://chat.example.com +# # OAuth2 Authorization Endpoint. #OAUTH2_AUTH_ENDPOINT=/oauth/authorize +# # OAuth2 Userinfo Endpoint. #OAUTH2_USERINFO_ENDPOINT=/oauth/userinfo +# # OAuth2 Token Endpoint. #OAUTH2_TOKEN_ENDPOINT=/oauth/token +# # OAUTH2 ID Token Whitelist Fields. #OAUTH2_ID_TOKEN_WHITELIST_FIELDS=[] +# # OAUTH2 Request Permissions. #OAUTH2_REQUEST_PERMISSIONS='openid profile email' +# # OAuth2 ID Mapping #OAUTH2_ID_MAP= +# # OAuth2 Username Mapping #OAUTH2_USERNAME_MAP= +# # OAuth2 Fullname Mapping #OAUTH2_FULLNAME_MAP= +# # OAuth2 Email Mapping #OAUTH2_EMAIL_MAP= #--------------------------------------------- @@ -218,10 +253,49 @@ LDAP_PORT=389 # example : LDAP_HOST=localhost #LDAP_HOST= LDAP_HOST=localhost +# +#----------------------------------------------------------------- +# ==== LDAP AD Simple Auth ==== +# +# Set to true, if you want to connect with Active Directory by Simple Authentication. +# When using AD Simple Auth, LDAP_BASEDN is not needed. +# +# Example: +#LDAP_AD_SIMPLE_AUTH=true +# +# === LDAP User Authentication === +# +# a) Option to login to the LDAP server with the user's own username and password, instead of +# an administrator key. Default: false (use administrator key). +# +# b) When using AD Simple Auth, set to true, when login user is used for binding, +# and LDAP_BASEDN is not needed. +# +# Example: +#LDAP_USER_AUTHENTICATION=true +# +# Which field is used to find the user for the user authentication. Default: uid. +#LDAP_USER_AUTHENTICATION_FIELD=uid +# +# === LDAP Default Domain === +# +# a) In case AD SimpleAuth is configured, the default domain is appended to the given +# loginname for creating the correct username for the bind request to AD. +# +# b) The default domain of the ldap it is used to create email if the field is not map +# correctly with the LDAP_SYNC_USER_DATA_FIELDMAP +# +# Example : +#LDAP_DEFAULT_DOMAIN=mydomain.com +# +#----------------------------------------------------------------- +# ==== LDAP BASEDN Auth ==== +# # LDAP_BASEDN : The base DN for the LDAP Tree # example : LDAP_BASEDN=ou=user,dc=example,dc=org #LDAP_BASEDN= LDAP_BASEDN=dc=yunohost,dc=org +#--------------------------------------------- # LDAP_LOGIN_FALLBACK : Fallback on the default authentication method # example : LDAP_LOGIN_FALLBACK=true #LDAP_LOGIN_FALLBACK=false @@ -257,6 +331,7 @@ LDAP_AUTHENTIFICATION=false # LDAP_AUTHENTIFICATION_PASSWORD : The password for the search user # example : AUTHENTIFICATION_PASSWORD=admin #LDAP_AUTHENTIFICATION_PASSWORD= +# # LDAP_LOG_ENABLED : Enable logs for the module # example : LDAP_LOG_ENABLED=true #LDAP_LOG_ENABLED=false @@ -270,6 +345,7 @@ LDAP_BACKGROUND_SYNC=true # Leave this unset, so it uses default, and does not crash. # https://github.com/wekan/wekan/issues/2354#issuecomment-515305722 LDAP_BACKGROUND_SYNC_INTERVAL='' +# # LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED : # example : LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED=true #LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED=false @@ -281,16 +357,15 @@ LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS=true # LDAP_ENCRYPTION : If using LDAPS # example : LDAP_ENCRYPTION=ssl #LDAP_ENCRYPTION=false +# # LDAP_CA_CERT : The certification for the LDAPS server. Certificate needs to be included in this docker-compose.yml file. # example : LDAP_CA_CERT=-----BEGIN CERTIFICATE-----MIIE+zCCA+OgAwIBAgIkAhwR/6TVLmdRY6hHxvUFWc0+Enmu/Hu6cj+G2FIdAgIC...-----END CERTIFICATE----- #LDAP_CA_CERT= +# # LDAP_REJECT_UNAUTHORIZED : Reject Unauthorized Certificate # example : LDAP_REJECT_UNAUTHORIZED=true #LDAP_REJECT_UNAUTHORIZED=false -# Option to login to the LDAP server with the user's own username and password, instead of an administrator key. Default: false (use administrator key). -#LDAP_USER_AUTHENTICATION=true -# Which field is used to find the user for the user authentication. Default: uid. -#LDAP_USER_AUTHENTICATION_FIELD=uid +# # LDAP_USER_SEARCH_FILTER : Optional extra LDAP filters. Don't forget the outmost enclosing parentheses if needed # example : LDAP_USER_SEARCH_FILTER= #LDAP_USER_SEARCH_FILTER= @@ -383,9 +458,6 @@ LDAP_SYNC_USER_DATA_FIELDMAP={"cn":"name"} # example : #LDAP_SYNC_GROUP_ROLES= LDAP_SYNC_GROUP_ROLES=__APP__.admin -# LDAP_DEFAULT_DOMAIN : The default domain of the ldap it is used to create email if the field is not map correctly with the LDAP_SYNC_USER_DATA_FIELDMAP -# example : -#LDAP_DEFAULT_DOMAIN= # Enable/Disable syncing of admin status based on ldap groups: #LDAP_SYNC_ADMIN_STATUS=true LDAP_SYNC_ADMIN_STATUS=true @@ -411,7 +483,7 @@ LDAP_SYNC_ADMIN_GROUPS=__APP__.admin # example : LOGOUT_ON_MINUTES=55 #LOGOUT_ON_MINUTES= #--------------------------------------------------------------------- -# PASSWORD_LOGIN_ENABLED : Enable or not the password login form. +# PASSWORD_LOGIN_ENABLED : Enable or not the password login form. #PASSWORD_LOGIN_ENABLED=true #--------------------------------------------------------------------- #CAS_ENABLED=true @@ -431,3 +503,6 @@ LDAP_SYNC_ADMIN_GROUPS=__APP__.admin #SAML_LOCAL_PROFILE_MATCH_ATTRIBUTE= #SAML_ATTRIBUTES= #--------------------------------------------------------------------- +# Wait spinner to use +#WAIT_SPINNER=Bounce +#--------------------------------------------------------------------- diff --git a/scripts/_common.sh b/scripts/_common.sh index d51b74e..55aa9a5 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -7,7 +7,7 @@ # dependencies used by the app pkg_dependencies="" -NODEJS_VERSION=12.22.1 +NODEJS_VERSION=12.22.9 #================================================= # PERSONAL HELPERS From 9267e70d91d8b3f288dc56a8c29c344844626546 Mon Sep 17 00:00:00 2001 From: yalh76 Date: Fri, 14 Jan 2022 23:32:51 +0100 Subject: [PATCH 3/3] Apply example_ynh --- check_process | 8 ++++---- doc/DESCRIPTION.md | 1 + manifest.json | 4 ++-- scripts/install | 2 +- scripts/remove | 20 ++++++++++---------- scripts/upgrade | 4 ++-- 6 files changed, 20 insertions(+), 19 deletions(-) create mode 100644 doc/DESCRIPTION.md diff --git a/check_process b/check_process index d37634b..3115e02 100644 --- a/check_process +++ b/check_process @@ -1,9 +1,9 @@ ;; Test complet ; Manifest - domain="domain.tld" (DOMAIN) - path="/path" (PATH) - admin="john" (USER) - is_public=1 (PUBLIC|public=1|private=0) + domain="domain.tld" + path="/path" + admin="john" + is_public=1 ; Checks pkg_linter=1 setup_sub_dir=1 diff --git a/doc/DESCRIPTION.md b/doc/DESCRIPTION.md new file mode 100644 index 0000000..a1421e8 --- /dev/null +++ b/doc/DESCRIPTION.md @@ -0,0 +1 @@ +WeKan ® is an completely Open Source and Free software collaborative kanban board application with MIT license. diff --git a/manifest.json b/manifest.json index 484a4e7..83f0c08 100644 --- a/manifest.json +++ b/manifest.json @@ -28,14 +28,14 @@ } ], "requirements": { - "yunohost": ">= 4.3.1.8" + "yunohost": ">= 4.3.0" }, "multi_instance": true, "services": [ "nginx" ], "arguments": { - "install" : [ + "install": [ { "name": "domain", "type": "domain" diff --git a/scripts/install b/scripts/install index 01faa4e..a54cd2e 100644 --- a/scripts/install +++ b/scripts/install @@ -83,7 +83,7 @@ ynh_install_mongo ynh_script_progression --message="Configuring system user..." # Create a system user -ynh_system_user_create --username=$app --home_dir="$final_path" +ynh_system_user_create --username=$app --home_dir=$final_path #================================================= # CREATE A MONGODB DATABASE diff --git a/scripts/remove b/scripts/remove index ec3ccf0..172a150 100755 --- a/scripts/remove +++ b/scripts/remove @@ -52,16 +52,6 @@ ynh_script_progression --message="Removing the MongoDB database..." # Remove a database if it exists, along with the associated user ynh_mongo_remove_db --db_user=$db_user --db_name=$db_name -#================================================= -# REMOVE DEPENDENCIES -#================================================= -ynh_script_progression --message="Removing dependencies..." - -# Remove metapackage and its dependencies -ynh_remove_app_dependencies -ynh_remove_nodejs -ynh_remove_mongo - #================================================= # REMOVE APP MAIN DIR #================================================= @@ -78,6 +68,16 @@ ynh_script_progression --message="Removing NGINX web server configuration..." # Remove the dedicated NGINX config ynh_remove_nginx_config +#================================================= +# REMOVE DEPENDENCIES +#================================================= +ynh_script_progression --message="Removing dependencies..." + +# Remove metapackage and its dependencies +ynh_remove_app_dependencies +ynh_remove_nodejs +ynh_remove_mongo + #================================================= # GENERIC FINALIZATION #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index 9cd5e08..7fe6617 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -119,7 +119,7 @@ fi ynh_script_progression --message="Making sure dedicated system user exists..." # Create a dedicated user (if not existing) -ynh_system_user_create --username=$app --home_dir="$final_path" +ynh_system_user_create --username=$app --home_dir=$final_path #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE @@ -176,7 +176,7 @@ ynh_install_mongo #================================================= # UPDATE A CONFIG FILE #================================================= -ynh_script_progression --message="Updating a config file..." +ynh_script_progression --message="Updating a configuration file..." main_domain=$(cat /etc/yunohost/current_host)