123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344 |
- #!/bin/bash
- # first read settings
- source $SNAP/bin/wekan-read-settings &>/dev/null
- if [ "$CADDY_ENABLED" = "true" ]; then
- # tweak port nunmber as it has been remapped
- export PORT=${CADDY_PORT} &>/dev/null
- fi
- echo -e "Wekan: The open-source kanban.\n"
- echo -e "\n"
- echo -e "Debug OIDC OAuth2 etc."
- echo -e "To enable the Debug of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME debug='true'"
- echo -e "\t-Disable the Debug of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME debug='false'"
- echo -e "\n"
- echo -e "Make sure you have connected all interfaces, check more by calling $ snap interfaces ${SNAP_NAME}"
- echo -e "\n"
- echo -e "${SNAP_NAME} has multiple services, to check status use systemctl"
- echo -e "\t$ systemctl status snap.$SNAP_NAME.*"
- echo -e "\n"
- echo -e "To make backup of wekan's database use: $ ${SNAP_NAME}.database-backup [backup file]"
- echo -e "\t backup file is optional parameter, if not passed backup is created in directory:"
- echo -e "\t\t${SNAP_COMMON}/db-backups"
- echo -e "To list existing backups in default directory: $ ${SNAP_NAME}.database-list-backups"
- echo -e "To restore wekan's database use: ${SNAP_NAME}.database-restore <path to backup>"
- echo -e "\n"
- echo -e "wekan can be configured to share mongodb with other services using content interface"
- echo -e "\t-sharing mongodb from $SNAP_NAME to other snap(s):"
- echo -e "\t\t-connect mongodb-slot with plug from corresponding snap(s)"
- echo -e "\t\t-configure corresponding service to use mongodb unix socket in shared directory, socket file name is: mongodb-$MONGODB_PORT.sock"
- echo -e "\t-sharing mongodb from other snap to $SNAP_NAME:"
- echo -e "\t\t-connect mongodb-plug with slot from snap providing mongodb"
- echo -e "\t\t-disable mongodb in $SNAP_NAME by calling: $ snap set $SNAP_NAME set disable-mongodb='true'"
- echo -e "\t\t-set mongodb-bind-unix-socket to point to serving mongodb. Use relative path inside shared directory, e.g run/mongodb-27017.sock"
- echo -e "\n"
- echo -e "To enable the API of wekan:"
- echo -e "\t$ snap set $SNAP_NAME with-api='true'"
- echo -e "\t-Disable the API:"
- echo -e "\t$ snap set $SNAP_NAME with-api='false'"
- echo -e "\n"
- echo -e "To enable the CORS of wekan, to set Access-Control-Allow-Origin header:"
- echo -e "\t$ snap set $SNAP_NAME cors='*'"
- echo -e "\t-Disable the CORS:"
- echo -e "\t$ snap set $SNAP_NAME cors=''"
- echo -e "\n"
- echo -e "Enable browser policy and allow one trusted URL that can have iframe that has Wekan embedded inside."
- echo -e "\t\t Setting this to false is not recommended, it also disables all other browser policy protections"
- echo -e "\t\t and allows all iframing etc. See wekan/server/policy.js"
- echo -e "To enable the Browser Policy of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME browser-policy-enabled='true'"
- echo -e "\t-Disable the Browser Policy of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME browser-policy-enabled='false'"
- echo -e "\n"
- echo -e "When browser policy is enabled, HTML code at this URL can have iframe that embeds Wekan inside."
- echo -e "To enable the Trusted URL of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME trusted-url='https://example.com'"
- echo -e "\t-Disable the Trusted URL of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME trusted-url=''"
- echo -e "\n"
- echo -e "What to send to Outgoing Webhook, or leave out. Example, that includes all that are default: cardId,listId,oldListId,boardId,comment,user,card,commentId ."
- echo -e "To enable the Webhooks Attributes of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME webhooks-attributes='cardId,listId,oldListId,boardId,comment,user,card,commentId'"
- echo -e "\t-Disable the Webhooks Attributes of Wekan to send all default ones:"
- echo -e "\t$ snap set $SNAP_NAME webhooks-attributes=''"
- echo -e "\n"
- echo -e "OAuth2 Client ID."
- echo -e "To enable the OAuth2 Client ID of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME oauth2-client-id='54321abcde'"
- echo -e "\t-Disable the OAuth2 Client ID of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME oauth2-client-id=''"
- echo -e "\n"
- echo -e "OAuth2 Secret."
- echo -e "To enable the OAuth2 Secret of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME oauth2-secret='54321abcde'"
- echo -e "\t-Disable the OAuth2 Secret of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME oauth2-secret=''"
- echo -e "\n"
- echo -e "OAuth2 Server URL."
- echo -e "To enable the OAuth2 Server URL of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME oauth2-server-url='https://chat.example.com'"
- echo -e "\t-Disable the OAuth2 Server URL of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME oauth2-server-url=''"
- echo -e "\n"
- echo -e "OAuth2 Authorization Endpoint."
- echo -e "To enable the OAuth2 Authorization Endpoint of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME oauth2-auth-endpoint='/oauth/authorize'"
- echo -e "\t-Disable the OAuth2 Authorization Endpoint of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME oauth2-auth-endpoint=''"
- echo -e "\n"
- echo -e "OAuth2 Userinfo Endpoint."
- echo -e "To enable the OAuth2 Userinfo Endpoint of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME oauth2-userinfo-endpoint='/oauth/authorize'"
- echo -e "\t-Disable the OAuth2 Userinfo Endpoint of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME oauth2-userinfo-endpoint=''"
- echo -e "\n"
- echo -e "OAuth2 Token Endpoint."
- echo -e "To enable the OAuth2 Token Endpoint of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME oauth2-token-endpoint='/oauth/token'"
- echo -e "\t-Disable the OAuth2 Token Endpoint of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME oauth2-token-endpoint=''"
- echo -e "\n"
- echo -e "OAuth2 ID Mapping."
- echo -e "To enable the OAuth2 ID Mapping of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME oauth2-id-map='username.uid'"
- echo -e "\t-Disable the OAuth2 ID Mapping of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME oauth2-id-map=''"
- echo -e "\n"
- echo -e "OAuth2 Username Mapping."
- echo -e "To enable the OAuth2 Username Mapping of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME oauth2-username-map='username'"
- echo -e "\t-Disable the OAuth2 Username Mapping of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME oauth2-username-map=''"
- echo -e "\n"
- echo -e "OAuth2 Fullname Mapping."
- echo -e "To enable the OAuth2 Fullname Mapping of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME oauth2-fullname-map='fullname'"
- echo -e "\t-Disable the OAuth2 Fullname Mapping of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME oauth2-fullname-map=''"
- echo -e "\n"
- echo -e "OAuth2 Email Mapping."
- echo -e "To enable the OAuth2 Email Mapping of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME oauth2-email-map='email'"
- echo -e "\t-Disable the OAuth2 Email Mapping of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME oauth2-email-map=''"
- echo -e "\n"
- echo -e "OAuth2 ID Token Whitelist Fields."
- echo -e "To enable the OAuth2 ID Token Whitelist Fields of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME oauth2-id-token-whitelist-fields='[]'"
- echo -e "\t-Disable the OAuth2 ID Token Whitelist Fields of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME oauth2-id-token-whitelist-fields=''"
- echo -e "\n"
- echo -e "OAuth2 Request Permissions."
- echo -e "To enable the OAuth2 Request Permissions of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME oauth2-request-permissions='[openid profile email]'"
- echo -e "\t-Disable the OAuth2 Request Permissions of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME oauth2-request-permissions=''"
- echo -e "\n"
- echo -e "Ldap Enable."
- echo -e "To enable the ldap of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME ldap-enable='true'"
- echo -e "\t-Disable the ldap of Wekan:"
- echo -e "\t$ snap set $SNAP_NAME ldap-enable='false'"
- echo -e "\n"
- echo -e "Ldap Port."
- echo -e "The port of the ldap server:"
- echo -e "\t$ snap set $SNAP_NAME ldap-port='12345'"
- echo -e "\n"
- echo -e "Ldap Host."
- echo -e "The host server for the LDAP server:"
- echo -e "\t$ snap set $SNAP_NAME ldap-host='localhost'"
- echo -e "\n"
- echo -e "Ldap Base Dn."
- echo -e "The base DN for the LDAP Tree:"
- echo -e "\t$ snap set $SNAP_NAME ldap-basedn='ou=user,dc=example,dc=org'"
- echo -e "\n"
- echo -e "Ldap Login Fallback."
- echo -e "Fallback on the default authentication method:"
- echo -e "\t$ snap set $SNAP_NAME ldap-login-fallback='true'"
- echo -e "\n"
- echo -e "Ldap Reconnect."
- echo -e "Reconnect to the server if the connection is lost:"
- echo -e "\t$ snap set $SNAP_NAME ldap-reconnect='false'"
- echo -e "\n"
- echo -e "Ldap Timeout."
- echo -e "Overall timeout, in milliseconds:"
- echo -e "\t$ snap set $SNAP_NAME ldap-timeout='12345'"
- echo -e "\n"
- echo -e "Ldap Idle Timeout."
- echo -e "Specifies the timeout for idle LDAP connections in milliseconds:"
- echo -e "\t$ snap set $SNAP_NAME ldap-idle-timeout='12345'"
- echo -e "\n"
- echo -e "Ldap Connect Timeout."
- echo -e "Connection timeout, in milliseconds:"
- echo -e "\t$ snap set $SNAP_NAME ldap-connect-timeout='12345'"
- echo -e "\n"
- echo -e "Ldap Authentication."
- echo -e "If the LDAP needs a user account to search:"
- echo -e "\t$ snap set $SNAP_NAME ldap-authentication='true'"
- echo -e "\n"
- echo -e "Ldap Authentication User Dn."
- echo -e "The search user Dn:"
- echo -e "\t$ snap set $SNAP_NAME ldap-authentication-userdn='cn=admin,dc=example,dc=org'"
- echo -e "\n"
- echo -e "Ldap Authentication Password."
- echo -e "The password for the search user:"
- echo -e "\t$ snap set $SNAP_NAME ldap-authentication-password='admin'"
- echo -e "\n"
- echo -e "Ldap Log Enabled."
- echo -e "Enable logs for the module:"
- echo -e "\t$ snap set $SNAP_NAME ldap-log-enabled='true'"
- echo -e "\n"
- echo -e "Ldap Background Sync."
- echo -e "If the sync of the users should be done in the background:"
- echo -e "\t$ snap set $SNAP_NAME ldap-background-sync='true'"
- echo -e "\n"
- echo -e "Ldap Background Sync Interval."
- echo -e "At which interval does the background task sync in milliseconds:"
- echo -e "\t$ snap set $SNAP_NAME ldap-background-sync-interval='12345'"
- echo -e "\n"
- echo -e "Ldap Background Sync Keep Existant Users Updated."
- echo -e "\t$ snap set $SNAP_NAME ldap-background-sync-keep-existant-users-updated='true'"
- echo -e "\n"
- echo -e "Ldap Background Sync Import New Users."
- echo -e "\t$ snap set $SNAP_NAME ldap-background-sync-import-new-users='true'"
- echo -e "\n"
- echo -e "Ldap Encryption."
- echo -e "Allow LDAPS:"
- echo -e "\t$ snap set $SNAP_NAME ldap-encryption='ssl'"
- echo -e "\n"
- echo -e "Ldap Ca Cert."
- echo -e "The certification for the LDAPS server:"
- echo -e "\t$ snap set $SNAP_NAME ldap-ca-cert=-----BEGIN CERTIFICATE-----MIIE+zCCA+OgAwIBAgIkAhwR/6TVLmdRY6hHxvUFWc0+Enmu/Hu6cj+G2FIdAgIC...-----END CERTIFICATE-----"
- echo -e "\n"
- echo -e "Ldap Reject Unauthorized."
- echo -e "Reject Unauthorized Certificate:"
- echo -e "\t$ snap set $SNAP_NAME ldap-reject-unauthorized='true'"
- echo -e "\n"
- echo -e "Ldap User Search Filter."
- echo -e "Optional extra LDAP filters. Don't forget the outmost enclosing parentheses if needed:"
- echo -e "\t$ snap set $SNAP_NAME ldap-user-search-filter=''"
- echo -e "\n"
- echo -e "Ldap User Search Scope."
- echo -e "base (search only in the provided DN), one (search only in the provided DN and one level deep), or sub (search the whole subtree). Example: one"
- echo -e "\t$ snap set $SNAP_NAME ldap-user-search-scope=one"
- echo -e "\n"
- echo -e "Ldap User Search Field."
- echo -e "Which field is used to find the user:"
- echo -e "\t$ snap set $SNAP_NAME ldap-user-search-field='uid'"
- echo -e "\n"
- echo -e "Ldap Search Page Size."
- echo -e "Used for pagination (0=unlimited):"
- echo -e "\t$ snap set $SNAP_NAME ldap-search-page-size='12345'"
- echo -e "\n"
- echo -e "Ldap Search Size Limit."
- echo -e "The limit number of entries (0=unlimited):"
- echo -e "\t$ snap set $SNAP_NAME ldap-search-size-limit='12345'"
- echo -e "\n"
- echo -e "Ldap Group Filter Enable."
- echo -e "Enable group filtering:"
- echo -e "\t$ snap set $SNAP_NAME ldap-group-filter-enable='true'"
- echo -e "\n"
- echo -e "Ldap Group Filter ObjectClass."
- echo -e "The object class for filtering:"
- echo -e "\t$ snap set $SNAP_NAME ldap-group-filter-objectclass='group'"
- echo -e "\n"
- echo -e "Ldap Group Filter Id Attribute."
- echo -e "\t$ snap set $SNAP_NAME ldap-group-filter-group-id-attribute=''"
- echo -e "\n"
- echo -e "Ldap Group Filter Member Attribute."
- echo -e "\t$ snap set $SNAP_NAME ldap-group-filter-group-member-attribute=''"
- echo -e "\n"
- echo -e "Ldap Group Filter Member Format."
- echo -e "\t$ snap set $SNAP_NAME ldap-group-filter-group-member-format=''"
- echo -e "\n"
- echo -e "Ldap Group Filter Group Name."
- echo -e "\t$ snap set $SNAP_NAME ldap-group-filter-group-name=''"
- echo -e "\n"
- echo -e "Ldap Unique Identifier Field."
- echo -e "This field is sometimes class GUID (Globally Unique Identifier):"
- echo -e "\t$ snap set $SNAP_NAME ldap-unique-identifier-field=guid"
- echo -e "\n"
- echo -e "Ldap Utf8 Names Slugify."
- echo -e "Convert the username to utf8:"
- echo -e "\t$ snap set $SNAP_NAME ldap-utf8-names-slugify='false'"
- echo -e "\n"
- echo -e "Ldap Username Field."
- echo -e "Which field contains the ldap username:"
- echo -e "\t$ snap set $SNAP_NAME ldap-username-field='username'"
- echo -e "\n"
- echo -e "Ldap Fullname Field."
- echo -e "Which field contains the ldap fullname:"
- echo -e "\t$ snap set $SNAP_NAME ldap-fullname-field='fullname'"
- echo -e "\n"
- echo -e "Ldap Merge Existing Users."
- echo -e "\t$ snap set $SNAP_NAME ldap-merge-existing-users='true'"
- echo -e "\n"
- echo -e "Ldap Email Match Enable."
- echo -e "\t$ snap set $SNAP_NAME ldap-email-match-enable='true'"
- echo -e "\n"
- echo -e "Ldap Email Match Require."
- echo -e "\t$ snap set $SNAP_NAME ldap-email-match-require='true'"
- echo -e "\n"
- echo -e "Ldap Email Match Verified."
- echo -e "\t$ snap set $SNAP_NAME ldap-email-match-verfied='false'"
- echo -e "\n"
- echo -e "Ldap Fullname Field."
- echo -e "Which field contains the ldap email address:"
- echo -e "\t$ snap set $SNAP_NAME ldap-fullname-field='fullname'"
- echo -e "\n"
- echo -e "Ldap Sync User Data."
- echo -e "Enable synchronization of user data:"
- echo -e "\t$ snap set $SNAP_NAME ldap-sync-user-data='true'"
- echo -e "\n"
- echo -e "Ldap Sync User Data Fieldmap."
- echo -e "A field map for the matching:"
- echo -e "\t$ snap set $SNAP_NAME ldap-sync-user-data-fieldmap={\"cn\":\"name\", \"mail\":\"email\"}"
- echo -e "\n"
- echo -e "Ldap Sync Group Roles."
- echo -e "\t$ snap set $SNAP_NAME ldap-sync-group-roles=''"
- echo -e "\n"
- echo -e "Ldap Default Domain."
- echo -e "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:"
- echo -e "\t$ snap set $SNAP_NAME ldap-default-domain=''"
- echo -e "\n"
- # echo -e "Logout with timer."
- # echo -e "Enable or not the option that allows to disconnect an user after a given time:"
- # echo -e "\t$ snap set $SNAP_NAME logout-with-timer='true'"
- # echo -e "\n"
- # echo -e "Logout in."
- # echo -e "Logout in how many days:"
- # echo -e "\t$ snap set $SNAP_NAME logout-in='1'"
- # echo -e "\n"
- # echo -e "Logout on hours."
- # echo -e "Logout in how many hours:"
- # echo -e "\t$ snap set $SNAP_NAME logout-on-hours='9'"
- # echo -e "\n"
- # echo -e "Logout on minutes."
- # echo -e "Logout in how many minutes:"
- # echo -e "\t$ snap set $SNAP_NAME logout-on-minutes='5'"
- # echo -e "\n"
- echo -e "Default authentication method."
- echo -e "The default authentication method used if a user does not exist to create and authenticate. Method can be password or ldap."
- echo -e "\t$ snap set $SNAP_NAME default-authentication-method='ldap'"
- echo -e "\n"
- # parse config file for supported settings keys
- echo -e "wekan supports settings keys"
- echo -e "values can be changed by calling\n$ snap set $SNAP_NAME <key name>='<key value>'"
- echo -e "list of supported keys:"
- for key in ${keys[@]}
- do
- default_value="DEFAULT_$key"
- description="DESCRIPTION_$key"
- snappy_key="KEY_$key"
- echo -e "\t${!snappy_key}: ${!description}"
- if [ "x" == "x${!key}" ]; then
- echo -e "\t\tNo value set, using default value: '${!default_value}'"
- else
- echo -e "\t\tCurrent value set to: '${!key}', (default value: '${!default_value}')"
- fi
- done
- echo -e "\n!!!! Some changes result in restart of some or all services, use with caution !!!!!"
|