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

Merge pull request #58 from YunoHost-Apps/testing

Testing
This commit is contained in:
yalh76 2019-10-07 21:05:47 +02:00 committed by GitHub
commit 2e6131af03
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 174 additions and 40 deletions

View file

@ -9,7 +9,7 @@ If you don't have YunoHost, please see [here](https://yunohost.org/#/install) to
## Overview ## Overview
Wekan is an open-source kanban board (task manager and organizer) Wekan is an open-source kanban board (task manager and organizer)
**Shipped version:** 2.98 **Shipped version:** 3.45
## Screenshots ## Screenshots

159
conf/.env
View file

@ -3,50 +3,127 @@ NODE_ENV=production
# The path to NODEJS # The path to NODEJS
PATH=__NODEJS_PATH__ PATH=__NODEJS_PATH__
#---------------------------------------------------------------
# Activate Debug mode # Debug OIDC OAuth2 etc.
#DEBUG=true #DEBUG=true
#---------------------------------------------------------------
# URL of the mongodb # URL of the mongodb
MONGO_URL=mongodb://127.0.0.1:27017/__DB_NAME__ MONGO_URL=mongodb://127.0.0.1:27017/__DB_NAME__
# Root URL # ROOT_URL EXAMPLES FOR WEBSERVERS: https://github.com/wekan/wekan/wiki/Settings
# Production: https://example.com/wekan
# Local: http://localhost:3000
# ipaddress=$(ifdata -pa eth0)
ROOT_URL=https://__DOMAIN_URI__ ROOT_URL=https://__DOMAIN_URI__
# Mail URL #---------------------------------------------------------------
MAIL_URL=smtp://localhost # Working email IS NOT REQUIRED to use Wekan.
# https://github.com/wekan/wekan/wiki/Adding-users
# https://github.com/wekan/wekan/wiki/Troubleshooting-Mail
# https://github.com/wekan/wekan-mongodb/blob/master/docker-compose.yml
MAIL_URL='smtp://localhost:25'
MAIL_FROM='Wekan Support <wekan@__DOMAIN__>'
# This is local port where Wekan Node.js runs # This is local port where Wekan Node.js runs
PORT=__PORT__ PORT=__PORT__
#--------------------------------------------- #---------------------------------------------------------------
# Wekan Export Board works when WITH_API=true. # Wekan Export Board works when WITH_API='true'.
# If you disable Wekan API with false, Export Board does not work. # If you disable Wekan API, Export Board does not work.
WITH_API='true' WITH_API='true'
#--------------------------------------------- #---------------------------------------------------------------
# ==== PASSWORD BRUTE FORCE PROTECTION ====
# https://atmospherejs.com/lucasantoniassi/accounts-lockout
# Defaults below. Uncomment to change. wekan/server/accounts-lockout.js
#ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURES_BEFORE=3
#ACCOUNTS_LOCKOUT_KNOWN_USERS_PERIOD=60
#ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURE_WINDOW=15
#ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURES_BERORE=3
#ACCOUNTS_LOCKOUT_UNKNOWN_USERS_LOCKOUT_PERIOD=60
#ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURE_WINDOW=15
#---------------------------------------------------------------
# ==== RICH TEXT EDITOR IN CARD COMMENTS ====
# https://github.com/wekan/wekan/pull/2560
RICHER_CARD_COMMENT_EDITOR=true
#---------------------------------------------------------------
# ==== CARD OPENED, SEND WEBHOOK MESSAGE ====
CARD_OPENED_WEBHOOK_ENABLED=false
#---------------------------------------------------------------
# ==== Allow to shrink attached/pasted image ====
# https://github.com/wekan/wekan/pull/2544
#MAX_IMAGE_PIXEL=1024
#IMAGE_COMPRESS_RATIO=80
#---------------------------------------------------------------
# ==== BIGEVENTS DUE ETC NOTIFICATIONS =====
# https://github.com/wekan/wekan/pull/2541
# Introduced a system env var BIGEVENTS_PATTERN default as "NONE",
# so any activityType matches the pattern, system will send out
# notifications to all board members no matter they are watching
# or tracking the board or not. Owner of the wekan server can
# disable the feature by setting this variable to "NONE" or
# change the pattern to any valid regex. i.e. '|' delimited
# activityType names.
# a) Example
#BIGEVENTS_PATTERN=due
# b) All
#BIGEVENTS_PATTERN=received|start|due|end
# c) Disabled
BIGEVENTS_PATTERN=NONE
#---------------------------------------------------------------
# ==== 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_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
#---------------------------------------------------------------
# ==== EMAIL NOTIFICATION TIMEOUT, ms =====
# Defaut: 30000 ms = 30s
#EMAIL_NOTIFICATION_TIMEOUT=30000
#---------------------------------------------------------------
# CORS: Set Access-Control-Allow-Origin header. Example: * # CORS: Set Access-Control-Allow-Origin header. Example: *
#CORS=* #CORS=*
#--------------------------------------------- # To enable the Set Access-Control-Allow-Headers header. "Authorization,Content-Type" is required for cross-origin use of the API.
## Optional: Integration with Matomo https://matomo.org that is installed to your server #CORS_ALLOW_HEADERS=Authorization,Content-Type
## The address of the server where Matomo is hosted:
# Example: MATOMO_ADDRESS=https://example.com/matomo # To enable the Set Access-Control-Expose-Headers header. This is not needed for typical CORS situations. Example: *
#CORS_EXPOSE_HEADERS=*
#---------------------------------------------------------------
# Optional: Integration with Matomo https://matomo.org that is installed to your server
# The address of the server where Matomo is hosted:
# MATOMO_ADDRESS=https://example.com/matomo
#MATOMO_ADDRESS= #MATOMO_ADDRESS=
## The value of the site ID given in Matomo server for Wekan # The value of the site ID given in Matomo server for Wekan
# Example: MATOMO_SITE_ID=123456789 # Example: MATOMO_SITE_ID=123456789
#MATOMO_SITE_ID='' #MATOMO_SITE_ID=''
## The option do not track which enables users to not be tracked by matomo" # The option do not track which enables users to not be tracked by matomo"
# Example: MATOMO_DO_NOT_TRACK=false # Example: MATOMO_DO_NOT_TRACK=false
#MATOMO_DO_NOT_TRACK=true #MATOMO_DO_NOT_TRACK=true
## The option that allows matomo to retrieve the username: # The option that allows matomo to retrieve the username:
# Example: MATOMO_WITH_USERNAME=true # Example: MATOMO_WITH_USERNAME=true
#MATOMO_WITH_USERNAME='false' #MATOMO_WITH_USERNAME='false'
#---------------------------------------------
# Enable browser policy and allow one trusted URL that can have iframe that has Wekan embedded inside. # 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 # 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 # and allows all iframing etc. See wekan/server/policy.js
@ -61,7 +138,7 @@ TRUSTED_URL=''
# Example: WEBHOOKS_ATTRIBUTES=cardId,listId,oldListId,boardId,comment,user,card,commentId # Example: WEBHOOKS_ATTRIBUTES=cardId,listId,oldListId,boardId,comment,user,card,commentId
WEBHOOKS_ATTRIBUTES='' WEBHOOKS_ATTRIBUTES=''
#--------------------------------------------- #---------------------------------------------------------------
# ==== OAUTH2 AZURE ==== # ==== OAUTH2 AZURE ====
# https://github.com/wekan/wekan/wiki/Azure # https://github.com/wekan/wekan/wiki/Azure
# 1) Register the application with Azure. Make sure you capture # 1) Register the application with Azure. Make sure you capture
@ -70,6 +147,9 @@ WEBHOOKS_ATTRIBUTES=''
# by installation type, but make sure you have the following: # by installation type, but make sure you have the following:
#OAUTH2_ENABLED=true #OAUTH2_ENABLED=true
# OAuth2 login style: popup or redirect.
#OAUTH2_LOGIN_STYLE=redirect
# Application GUID captured during app registration: # Application GUID captured during app registration:
#OAUTH2_CLIENT_ID=xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx #OAUTH2_CLIENT_ID=xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx
@ -80,6 +160,12 @@ WEBHOOKS_ATTRIBUTES=''
#OAUTH2_USERINFO_ENDPOINT=https://graph.microsoft.com/oidc/userinfo #OAUTH2_USERINFO_ENDPOINT=https://graph.microsoft.com/oidc/userinfo
#OAUTH2_TOKEN_ENDPOINT=/oauth2/v2.0/token #OAUTH2_TOKEN_ENDPOINT=/oauth2/v2.0/token
# OAUTH2 ID Token Whitelist Fields.
#OAUTH2_ID_TOKEN_WHITELIST_FIELDS=[]
# OAUTH2 Request Permissions.
#OAUTH2_REQUEST_PERMISSIONS='openid profile email'
# The claim name you want to map to the unique ID field: # The claim name you want to map to the unique ID field:
#OAUTH2_ID_MAP=email #OAUTH2_ID_MAP=email
@ -89,13 +175,16 @@ WEBHOOKS_ATTRIBUTES=''
# The claim name you want to map to the full name field: # The claim name you want to map to the full name field:
#OAUTH2_FULLNAME_MAP=name #OAUTH2_FULLNAME_MAP=name
# The claim name you want to map to the email field: # Tthe claim name you want to map to the email field:
#OAUTH2_EMAIL_MAP=email #OAUTH2_EMAIL_MAP=email
#----------------------------------------------------------------- #---------------------------------------------------------------
# ==== OAUTH2 KEYCLOAK ==== # ==== OAUTH2 KEYCLOAK ====
# https://github.com/wekan/wekan/wiki/Keycloak <== MAPPING INFO, REQUIRED # https://github.com/wekan/wekan/wiki/Keycloak <== MAPPING INFO, REQUIRED
#OAUTH2_ENABLED=true #OAUTH2_ENABLED=true
# OAuth2 login style: popup or redirect.
#OAUTH2_LOGIN_STYLE=redirect
#OAUTH2_CLIENT_ID=<Keycloak create Client ID> #OAUTH2_CLIENT_ID=<Keycloak create Client ID>
#OAUTH2_SERVER_URL=<Keycloak server name>/auth #OAUTH2_SERVER_URL=<Keycloak server name>/auth
#OAUTH2_AUTH_ENDPOINT=/realms/<keycloak realm>/protocol/openid-connect/auth #OAUTH2_AUTH_ENDPOINT=/realms/<keycloak realm>/protocol/openid-connect/auth
@ -103,14 +192,17 @@ WEBHOOKS_ATTRIBUTES=''
#OAUTH2_TOKEN_ENDPOINT=/realms/<keycloak realm>/protocol/openid-connect/token #OAUTH2_TOKEN_ENDPOINT=/realms/<keycloak realm>/protocol/openid-connect/token
#OAUTH2_SECRET=<keycloak client secret> #OAUTH2_SECRET=<keycloak client secret>
#----------------------------------------------------------------- #---------------------------------------------------------------
# ==== OAUTH2 DOORKEEPER ==== # ==== OAUTH2 DOORKEEPER ====
# OAuth2 docs: https://github.com/wekan/wekan/wiki/OAuth2
# https://github.com/wekan/wekan/issues/1874 # https://github.com/wekan/wekan/issues/1874
# https://github.com/wekan/wekan/wiki/OAuth2 # https://github.com/wekan/wekan/wiki/OAuth2
# Enable the OAuth2 connection # Enable the OAuth2 connection
#OAUTH2_ENABLED=true #OAUTH2_ENABLED=true
# OAuth2 docs: https://github.com/wekan/wekan/wiki/OAuth2 # OAuth2 login style: popup or redirect.
#OAUTH2_LOGIN_STYLE=redirect
# OAuth2 Client ID. # OAuth2 Client ID.
#OAUTH2_CLIENT_ID=abcde12345 #OAUTH2_CLIENT_ID=abcde12345
@ -141,7 +233,7 @@ WEBHOOKS_ATTRIBUTES=''
# OAuth2 Email Mapping # OAuth2 Email Mapping
#OAUTH2_EMAIL_MAP= #OAUTH2_EMAIL_MAP=
#--------------------------------------------- #---------------------------------------------------------------
# LDAP_ENABLE : Enable or not the connection by the LDAP # LDAP_ENABLE : Enable or not the connection by the LDAP
# example : LDAP_ENABLE=true # example : LDAP_ENABLE=true
#LDAP_ENABLE=false #LDAP_ENABLE=false
@ -211,7 +303,9 @@ LDAP_LOG_ENABLED=true
LDAP_BACKGROUND_SYNC=true LDAP_BACKGROUND_SYNC=true
# LDAP_BACKGROUND_SYNC_INTERVAL : At which interval does the background task sync in milliseconds # LDAP_BACKGROUND_SYNC_INTERVAL : At which interval does the background task sync in milliseconds
# example : LDAP_BACKGROUND_SYNC_INTERVAL=12345 # At which interval does the background task sync in milliseconds.
# Leave this unset, so it uses default, and does not crash.
# https://github.com/wekan/wekan/issues/2354#issuecomment-515305722
#LDAP_BACKGROUND_SYNC_INTERVAL=100 #LDAP_BACKGROUND_SYNC_INTERVAL=100
LDAP_BACKGROUND_SYNC_INTERVAL=100 LDAP_BACKGROUND_SYNC_INTERVAL=100
@ -237,6 +331,12 @@ LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS=true
# example : LDAP_REJECT_UNAUTHORIZED=true # example : LDAP_REJECT_UNAUTHORIZED=true
#LDAP_REJECT_UNAUTHORIZED=false #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 # LDAP_USER_SEARCH_FILTER : Optional extra LDAP filters. Don't forget the outmost enclosing parentheses if needed
# example : LDAP_USER_SEARCH_FILTER= # example : LDAP_USER_SEARCH_FILTER=
#LDAP_USER_SEARCH_FILTER= #LDAP_USER_SEARCH_FILTER=
@ -360,10 +460,19 @@ LDAP_SYNC_GROUP_ROLES=admins
#LDAP_SYNC_ADMIN_STATUS=true #LDAP_SYNC_ADMIN_STATUS=true
LDAP_SYNC_ADMIN_STATUS=true LDAP_SYNC_ADMIN_STATUS=true
# Comma separated list of admin group names to sync. # Comma separated list of admin group names.
#LDAP_SYNC_ADMIN_GROUPS=group1,group2 #LDAP_SYNC_ADMIN_GROUPS=group1,group2
LDAP_SYNC_ADMIN_GROUPS=admins LDAP_SYNC_ADMIN_GROUPS=admins
#---------------------------------------------------------------
# Login to LDAP automatically with HTTP header.
# In below example for siteminder, at right side of = is header name.
#HEADER_LOGIN_ID=HEADERUID
#HEADER_LOGIN_FIRSTNAME=HEADERFIRSTNAME
#HEADER_LOGIN_LASTNAME=HEADERLASTNAME
#HEADER_LOGIN_EMAIL=HEADEREMAILADDRESS
#---------------------------------------------------------------
# LOGOUT_WITH_TIMER : Enables or not the option logout with timer # LOGOUT_WITH_TIMER : Enables or not the option logout with timer
# example : LOGOUT_WITH_TIMER=true # example : LOGOUT_WITH_TIMER=true
#LOGOUT_WITH_TIMER= #LOGOUT_WITH_TIMER=

View file

@ -1,8 +1,9 @@
# This is on YunoHost server just to avoid the file from disappearing # This is on YunoHost server just to avoid the file from disappearing
# Original source is https://releases.wekan.team/raspi3/wekan-2.94-arm64-bundle.tar.gz # Original source is https://releases.wekan.team/raspi3/wekan-3.45-arm64.zip
SOURCE_URL=https://build.yunohost.org/apps/wekan-2.94-arm64-bundle.tar.gz # YunoHost source is https://build.yunohost.org/apps/wekan-3.45-arm64.zip
SOURCE_SUM=f23d57238e5e7702c9e7a93226f2d6dcaf996671a6b22a6639b99b5ec2ab2c7f SOURCE_URL=https://build.yunohost.org/apps/wekan-3.45-arm64.zip
SOURCE_SUM=854c4a47125b616da3a36b7a766dbcf23adc1d926060c3e8b370e6c16b53bc25
SOURCE_SUM_PRG=sha256sum SOURCE_SUM_PRG=sha256sum
ARCH_FORMAT=tar.gz SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true SOURCE_IN_SUBDIR=true
SOURCE_FILENAME=wekan-2.94-arm64-bundle.tar.gz SOURCE_FILENAME=wekan-3.45-arm64.zip

View file

@ -1,8 +1,9 @@
# This is on YunoHost server just to avoid the file from disappearing # This is on YunoHost server just to avoid the file from disappearing
# Original source is https://releases.wekan.team/wekan-2.98-meteor1.8-x64.tar.gz # Original source is https://releases.wekan.team/wekan-3.45.zip
SOURCE_URL=https://build.yunohost.org/apps/wekan-2.98-meteor1.8-x64.tar.gz # YunoHost source is https://build.yunohost.org/apps/wekan-3.45.zip
SOURCE_SUM=0f851e74eb35ef34415701c212f2953e55028d7cded5f427a161b20318e36885 SOURCE_URL=https://build.yunohost.org/apps/wekan-3.45.zip
SOURCE_SUM=b5385e2aadefe01a5f21d669475f8c33bd34992d2b019a5417576dbfc4ed77b1
SOURCE_SUM_PRG=sha256sum SOURCE_SUM_PRG=sha256sum
ARCH_FORMAT=tar.gz SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true SOURCE_IN_SUBDIR=true
SOURCE_FILENAME=wekan-2.98-meteor1.8-x64.tar.gz SOURCE_FILENAME=wekan-3.45.zip

View file

@ -6,7 +6,7 @@
"en": "Trello-like kanban", "en": "Trello-like kanban",
"fr": "Un kanban similaire à Trello" "fr": "Un kanban similaire à Trello"
}, },
"version": "2.98~ynh2", "version": "3.45~ynh1",
"url": "https://wekan.io", "url": "https://wekan.io",
"license": "MIT", "license": "MIT",
"maintainer": [ "maintainer": [

View file

@ -73,7 +73,7 @@ ynh_app_setting_set --app=$app --key=port --value=$port
#================================================= #=================================================
ynh_print_info --message="Installing dependencies..." ynh_print_info --message="Installing dependencies..."
ynh_install_nodejs --nodejs_version="8.16.0" ynh_install_nodejs --nodejs_version="8.16.1"
ynh_use_nodejs ynh_use_nodejs
ynh_install_app_dependencies $pkg_dependencies ynh_install_app_dependencies $pkg_dependencies
@ -136,6 +136,7 @@ cp "../conf/.env" $config_file
ynh_replace_string --match_string="__NODEJS_PATH__" --replace_string="$nodejs_path" --target_file="$config_file" ynh_replace_string --match_string="__NODEJS_PATH__" --replace_string="$nodejs_path" --target_file="$config_file"
ynh_replace_string --match_string="__DB_NAME__" --replace_string="$db_name" --target_file="$config_file" ynh_replace_string --match_string="__DB_NAME__" --replace_string="$db_name" --target_file="$config_file"
ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="$config_file"
ynh_replace_string --match_string="__DOMAIN_URI__" --replace_string="$domain$path_url" --target_file="$config_file" ynh_replace_string --match_string="__DOMAIN_URI__" --replace_string="$domain$path_url" --target_file="$config_file"
ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="$config_file" ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="$config_file"

View file

@ -82,7 +82,7 @@ find "$final_path" -type d -print0 | xargs -0 chmod 750
ynh_print_info --message="Reinstalling dependencies..." ynh_print_info --message="Reinstalling dependencies..."
# Define and install dependencies # Define and install dependencies
ynh_install_nodejs --nodejs_version="8.16.0" ynh_install_nodejs --nodejs_version="8.16.1"
ynh_use_nodejs ynh_use_nodejs
ynh_install_app_dependencies $pkg_dependencies ynh_install_app_dependencies $pkg_dependencies

View file

@ -132,6 +132,28 @@ if ynh_version_gt "2.48~ynh1" "${previous_version}" ; then
ynh_store_file_checksum "$config_file" ynh_store_file_checksum "$config_file"
fi fi
if ynh_version_gt "3.45~ynh1" "${previous_version}" ; then
# Install dependencies
ynh_remove_nodejs
ynh_install_nodejs --nodejs_version="8.16.1"
ynh_use_nodejs
# Create a dedicated systemd config
ynh_replace_string --match_string="__NODEJS_PATH__" --replace_string="$nodejs_path" --target_file="../conf/systemd.service"
ynh_add_systemd_config
# Create a dedicated .env config
config_file="$final_path/.env"
ynh_backup_if_checksum_is_different --file="$config_file"
cp "../conf/.env" "$config_file"
ynh_replace_string --match_string="__NODEJS_PATH__" --replace_string="$nodejs_path" --target_file="$config_file"
ynh_replace_string --match_string="__DB_NAME__" --replace_string="$db_name" --target_file="$config_file"
ynh_replace_string --match_string="__DOMAIN__" --replace_string="$domain" --target_file="$config_file"
ynh_replace_string --match_string="__DOMAIN_URI__" --replace_string="$domain$path_url" --target_file="$config_file"
ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="$config_file"
ynh_store_file_checksum "$config_file"
fi
#================================================= #=================================================
# CHECK THE PATH # CHECK THE PATH
#================================================= #=================================================