Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
754087b5cf | ||
|
|
e656e36a92 | ||
|
|
0bf138281e | ||
|
|
fe62e12ab4 | ||
|
|
3c64c504c8 | ||
|
|
479472c1d8 | ||
|
|
c10c10c4a9 | ||
|
|
d8c515c858 | ||
|
|
168a308f5f | ||
|
|
fe40c5fd37 | ||
|
|
c430e36357 | ||
|
|
007bf743a6 | ||
|
|
774f57f3f6 | ||
|
|
044a64b964 | ||
|
|
f6bdb4d694 | ||
|
|
6a6b76e084 | ||
|
|
9357ce8a26 | ||
|
|
0aab2b3085 | ||
|
|
3edafd6c67 | ||
|
|
850ded2e17 | ||
|
|
67a58daaf3 | ||
|
|
9fdafd2008 | ||
|
|
66c37ccd3e | ||
|
|
fd3139201a | ||
|
|
abfedf573b | ||
|
|
a1f9536657 | ||
|
|
dec0563e3c | ||
|
|
9a4136399f | ||
|
|
20b0177105 | ||
|
|
e0957f70e6 | ||
|
|
125c4684bd | ||
|
|
991d4909e1 | ||
|
|
f81fd8084f | ||
|
|
231137617f | ||
|
|
f6b4c0ab25 | ||
|
|
30f2de151b | ||
|
|
20fe8bc09b | ||
|
|
2e715444ed |
No files matched your search
@@ -39,6 +39,7 @@ ENV \
|
||||
TRUSTED_URL="" \
|
||||
WEBHOOKS_ATTRIBUTES="" \
|
||||
OAUTH2_ENABLED=false \
|
||||
OAUTH2_ADFS_ENABLED=false \
|
||||
OAUTH2_LOGIN_STYLE=redirect \
|
||||
OAUTH2_CLIENT_ID="" \
|
||||
OAUTH2_SECRET="" \
|
||||
@@ -112,9 +113,6 @@ ENV \
|
||||
CORS_ALLOW_HEADERS="" \
|
||||
CORS_EXPOSE_HEADERS="" \
|
||||
DEFAULT_AUTHENTICATION_METHOD="" \
|
||||
SCROLLINERTIA="0" \
|
||||
SCROLLAMOUNT="auto" \
|
||||
SCROLLDELTAFACTOR="auto" \
|
||||
PASSWORD_LOGIN_ENABLED=true
|
||||
|
||||
# Install OS
|
||||
|
||||
+3
-3
@@ -17,7 +17,7 @@ base64@1.0.12
|
||||
binary-heap@1.0.11
|
||||
blaze@2.3.4
|
||||
blaze-tools@1.0.10
|
||||
boilerplate-generator@1.7.0
|
||||
boilerplate-generator@1.7.1
|
||||
browser-policy-common@1.0.11
|
||||
browser-policy-framing@1.1.0
|
||||
caching-compiler@1.2.2
|
||||
@@ -101,7 +101,7 @@ meteorhacks:collection-utils@1.2.0
|
||||
meteorhacks:picker@1.0.3
|
||||
meteorhacks:subs-manager@1.6.4
|
||||
meteorspark:util@0.2.0
|
||||
minifier-css@1.5.2
|
||||
minifier-css@1.5.3
|
||||
minifier-js@2.6.0
|
||||
minifiers@1.1.8-faster-rebuild.0
|
||||
minimongo@1.6.0
|
||||
@@ -126,7 +126,7 @@ mquandalle:moment@1.0.1
|
||||
mquandalle:mousetrap-bindglobal@0.0.1
|
||||
msavin:usercache@1.8.0
|
||||
npm-bcrypt@0.9.3
|
||||
npm-mongo@3.8.0
|
||||
npm-mongo@3.8.1
|
||||
oauth@1.3.0
|
||||
oauth2@1.3.0
|
||||
observe-sequence@1.0.16
|
||||
|
||||
@@ -1,3 +1,63 @@
|
||||
# v4.31 2020-09-13 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Try to fix Snap](https://github.com/wekan/wekan/commit/fe62e12ab46c41ea30ba79795b0dc39b3451d4a2).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v4.30 2020-09-13 Wekan release
|
||||
|
||||
This release adds the following new features and improvements:
|
||||
|
||||
- [Add setting for OAUTH2_ADFS_ENABLED=true](https://github.com/wekan/wekan/pull/3269)
|
||||
for [SSO Integration with ADFS 4.0 using OAuth 2 and OpenID](https://github.com/wekan/wekan/issues/3184).
|
||||
Thanks to phaseshift3r.
|
||||
- [Add setting OAUTH2_ADFS_ENABLED=false for most platforms. Remove mouse scroll settings of already removed custom scrollbar.
|
||||
Add testing for both string and boolean version of true](https://github.com/wekan/wekan/commit/f6bdb4d694453d73f4bfa6a75814833594cf5000).
|
||||
Thanks to xet7.
|
||||
- [Design improvements in templates, card details and custom fields](https://github.com/wekan/wekan/pull/3271)
|
||||
and [related change to translation](https://github.com/wekan/wekan/commit/fe40c5fd37a7c54240c080caf98b6130229f5d31).
|
||||
Thanks to helioguardabaxo and xet7.
|
||||
|
||||
and adds the following updates:
|
||||
|
||||
- [Use forked & updated version of gridfs-stream](https://github.com/wekan/wekan/pull/3270).
|
||||
Thanks to blaggacao.
|
||||
- [Update dependencies](https://github.com/wekan/wekan/pull/3268).
|
||||
Thanks to blaggacao.
|
||||
- [Update npm-mongo dependency](https://github.com/wekan/wekan/commit/9fdafd20081b20302af3d1a6397fb840348f1209).
|
||||
Thanks to filipenevola.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v4.29 2020-09-11 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Changed markdown from marked to markdown-it](https://github.com/wekan/wekan/commit/20b01771055ca4d8871d13abb559ab92ecee10f4) and
|
||||
added emoji support https://github.com/wekan/wekan/wiki/Emoji .
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v4.28 2020-09-11 Wekan release
|
||||
|
||||
This release updates some dependencies:
|
||||
|
||||
- [Update some dependencies](https://github.com/wekan/wekan/commit/125c4684bd6815a8f49241bc2663e82112afe67b).
|
||||
Thanks to developers of dependencies.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fix card scrollbar on Windows](https://github.com/wekan/wekan/pull/3264).
|
||||
Thanks to tborychowski.
|
||||
- [Try to fix language names](https://github.com/wekan/wekan/commit/f81fd8084fd6cd1ad57daefcc22ed1fb0acaaeca).
|
||||
Thanks to buplet, xoas and xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v4.27 2020-09-09 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
+1
-3
@@ -41,6 +41,7 @@ ENV BUILD_DEPS="apt-utils libarchive-tools gnupg gosu wget curl bzip2 g++ build-
|
||||
TRUSTED_URL="" \
|
||||
WEBHOOKS_ATTRIBUTES="" \
|
||||
OAUTH2_ENABLED=false \
|
||||
OAUTH2_ADFS_ENABLED=false \
|
||||
OAUTH2_LOGIN_STYLE=redirect \
|
||||
OAUTH2_CLIENT_ID="" \
|
||||
OAUTH2_SECRET="" \
|
||||
@@ -114,9 +115,6 @@ ENV BUILD_DEPS="apt-utils libarchive-tools gnupg gosu wget curl bzip2 g++ build-
|
||||
CORS_ALLOW_HEADERS="" \
|
||||
CORS_EXPOSE_HEADERS="" \
|
||||
DEFAULT_AUTHENTICATION_METHOD="" \
|
||||
SCROLLINERTIA="0" \
|
||||
SCROLLAMOUNT="auto" \
|
||||
SCROLLDELTAFACTOR="auto" \
|
||||
PASSWORD_LOGIN_ENABLED=true
|
||||
|
||||
# Copy the app to the image
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
|
||||
appVersion: "v4.27.0"
|
||||
appVersion: "v4.31.0"
|
||||
files:
|
||||
userUploads:
|
||||
- README.md
|
||||
|
||||
@@ -4,8 +4,7 @@ template(name="cardCustomFieldsPopup")
|
||||
li.item(class="")
|
||||
a.name.js-select-field(href="#")
|
||||
span.full-name
|
||||
+viewer
|
||||
= name
|
||||
= name
|
||||
if hasCustomField
|
||||
i.fa.fa-check
|
||||
hr
|
||||
|
||||
@@ -42,12 +42,28 @@ template(name="cardDetails")
|
||||
else
|
||||
p.warning {{_ 'card-archived'}}
|
||||
|
||||
.card-details-items
|
||||
.card-details-items
|
||||
if currentBoard.allowsLabels
|
||||
.card-details-item.card-details-item-labels
|
||||
h3.card-details-item-title
|
||||
i.fa.fa-tags
|
||||
| {{_ 'labels'}}
|
||||
a(class="{{#if canModifyCard}}js-add-labels{{else}}is-disabled{{/if}}" title="{{_ 'card-labels-title'}}")
|
||||
each labels
|
||||
span.card-label(class="card-label-{{color}}" title=name)
|
||||
+viewer
|
||||
= name
|
||||
if canModifyCard
|
||||
unless currentUser.isWorker
|
||||
a.card-label.add-label.js-add-labels(title="{{_ 'card-labels-title'}}")
|
||||
i.fa.fa-plus
|
||||
|
||||
if currentBoard.allowsReceivedDate
|
||||
hr
|
||||
.card-details-item.card-details-item-received
|
||||
h3
|
||||
h3.card-details-item-title
|
||||
i.fa.fa-sign-out
|
||||
card-details-item-title {{_ 'card-received'}}
|
||||
| {{_ 'card-received'}}
|
||||
if getReceived
|
||||
+cardReceivedDate
|
||||
else
|
||||
@@ -58,9 +74,9 @@ template(name="cardDetails")
|
||||
|
||||
if currentBoard.allowsStartDate
|
||||
.card-details-item.card-details-item-start
|
||||
h3
|
||||
h3.card-details-item-title
|
||||
i.fa.fa-hourglass-start
|
||||
card-details-item-title {{_ 'card-start'}}
|
||||
| {{_ 'card-start'}}
|
||||
if getStart
|
||||
+cardStartDate
|
||||
else
|
||||
@@ -71,9 +87,9 @@ template(name="cardDetails")
|
||||
|
||||
if currentBoard.allowsDueDate
|
||||
.card-details-item.card-details-item-due
|
||||
h3
|
||||
h3.card-details-item-title
|
||||
i.fa.fa-sign-in
|
||||
card-details-item-title {{_ 'card-due'}}
|
||||
| {{_ 'card-due'}}
|
||||
if getDue
|
||||
+cardDueDate
|
||||
else
|
||||
@@ -84,9 +100,9 @@ template(name="cardDetails")
|
||||
|
||||
if currentBoard.allowsEndDate
|
||||
.card-details-item.card-details-item-end
|
||||
h3
|
||||
h3.card-details-item-title
|
||||
i.fa.fa-hourglass-end
|
||||
card-details-item-title {{_ 'card-end'}}
|
||||
| {{_ 'card-end'}}
|
||||
if getEnd
|
||||
+cardEndDate
|
||||
else
|
||||
@@ -97,10 +113,11 @@ template(name="cardDetails")
|
||||
|
||||
//.card-details-items
|
||||
if currentBoard.allowsMembers
|
||||
hr
|
||||
.card-details-item.card-details-item-members
|
||||
h3
|
||||
h3.card-details-item-title
|
||||
i.fa.fa-users
|
||||
card-details-item-title {{_ 'members'}}
|
||||
| {{_ 'members'}}
|
||||
each getMembers
|
||||
+userAvatar(userId=this cardId=../_id)
|
||||
| {{! XXX Hack to hide syntaxic coloration /// }}
|
||||
@@ -112,9 +129,9 @@ template(name="cardDetails")
|
||||
//if assigneeSelected
|
||||
if currentBoard.allowsAssignee
|
||||
.card-details-item.card-details-item-assignees
|
||||
h3
|
||||
h3.card-details-item-title
|
||||
i.fa.fa-user
|
||||
card-details-item-title {{_ 'assignee'}}
|
||||
| {{_ 'assignee'}}
|
||||
each getAssignees
|
||||
+userAvatarAssignee(userId=this cardId=../_id)
|
||||
| {{! XXX Hack to hide syntaxic coloration /// }}
|
||||
@@ -126,44 +143,23 @@ template(name="cardDetails")
|
||||
a.assignee.add-assignee.card-details-item-add-button.js-add-assignees(title="{{_ 'assignee'}}")
|
||||
i.fa.fa-plus
|
||||
|
||||
if currentBoard.allowsLabels
|
||||
.card-details-item.card-details-item-labels
|
||||
h3
|
||||
i.fa.fa-tags
|
||||
card-details-item-title {{_ 'labels'}}
|
||||
a(class="{{#if canModifyCard}}js-add-labels{{else}}is-disabled{{/if}}" title="{{_ 'card-labels-title'}}")
|
||||
each labels
|
||||
span.card-label(class="card-label-{{color}}" title=name)
|
||||
+viewer
|
||||
= name
|
||||
if canModifyCard
|
||||
unless currentUser.isWorker
|
||||
a.card-label.add-label.js-add-labels(title="{{_ 'card-labels-title'}}")
|
||||
i.fa.fa-plus
|
||||
|
||||
//.card-details-items
|
||||
each customFieldsWD
|
||||
.card-details-item.card-details-item-customfield
|
||||
h3.card-details-item-title
|
||||
+viewer
|
||||
= definition.name
|
||||
+cardCustomField
|
||||
|
||||
//.card-details-items
|
||||
if getSpentTime
|
||||
.card-details-item.card-details-item-spent
|
||||
if getIsOvertime
|
||||
h3.card-details-item-title {{_ 'overtime-hours'}}
|
||||
h3.card-details-item-title
|
||||
| {{_ 'overtime-hours'}}
|
||||
else
|
||||
h3.card-details-item-title {{_ 'spent-time-hours'}}
|
||||
h3.card-details-item-title
|
||||
| {{_ 'spent-time-hours'}}
|
||||
+cardSpentTime
|
||||
|
||||
//.card-details-items
|
||||
if currentBoard.allowsRequestedBy
|
||||
.card-details-item.card-details-item-name
|
||||
h3
|
||||
h3.card-details-item-title
|
||||
i.fa.fa-shopping-cart
|
||||
card-details-item-title {{_ 'requested-by'}}
|
||||
| {{_ 'requested-by'}}
|
||||
if canModifyCard
|
||||
unless currentUser.isWorker
|
||||
+inlinedForm(classNames="js-card-details-requester")
|
||||
@@ -181,9 +177,9 @@ template(name="cardDetails")
|
||||
|
||||
if currentBoard.allowsAssignedBy
|
||||
.card-details-item.card-details-item-name
|
||||
h3
|
||||
h3.card-details-item-title
|
||||
i.fa.fa-user-plus
|
||||
card-details-item-title {{_ 'assigned-by'}}
|
||||
| {{_ 'assigned-by'}}
|
||||
if canModifyCard
|
||||
unless currentUser.isWorker
|
||||
+inlinedForm(classNames="js-card-details-assigner")
|
||||
@@ -199,6 +195,16 @@ template(name="cardDetails")
|
||||
+viewer
|
||||
= getAssignedBy
|
||||
|
||||
//.card-details-items
|
||||
if customFieldsWD
|
||||
hr
|
||||
each customFieldsWD
|
||||
.card-details-item.card-details-item-customfield
|
||||
h3.card-details-item-title
|
||||
i.fa.fa-list-alt
|
||||
= definition.name
|
||||
+cardCustomField
|
||||
|
||||
if getVoteQuestion
|
||||
hr
|
||||
.vote-title
|
||||
@@ -234,9 +240,9 @@ template(name="cardDetails")
|
||||
unless currentUser.isWorker
|
||||
if currentBoard.allowsDescriptionTitle
|
||||
hr
|
||||
h3
|
||||
h3.card-details-item-title
|
||||
i.fa.fa-align-left
|
||||
card-details-item-title {{_ 'description'}}
|
||||
| {{_ 'description'}}
|
||||
if currentBoard.allowsDescriptionText
|
||||
+inlinedCardDescription(classNames="card-description js-card-description")
|
||||
+editor(autofocus=true)
|
||||
@@ -276,7 +282,7 @@ template(name="cardDetails")
|
||||
+subtasks(cardId = _id)
|
||||
if currentBoard.allowsAttachments
|
||||
hr
|
||||
h3
|
||||
h3.card-details-item-title
|
||||
i.fa.fa-paperclip
|
||||
| {{_ 'attachments'}}
|
||||
.card-checklist-attachmentGalery.card-attachmentGalery
|
||||
@@ -285,7 +291,7 @@ template(name="cardDetails")
|
||||
hr
|
||||
unless currentUser.isNoComments
|
||||
.activity-title
|
||||
h3
|
||||
h3.card-details-item-title
|
||||
i.fa.fa-history
|
||||
| {{ _ 'activity'}}
|
||||
if currentUser.isBoardMember
|
||||
|
||||
@@ -89,7 +89,7 @@ avatar-radius = 50%
|
||||
.card-details
|
||||
padding: 0
|
||||
flex-shrink: 0
|
||||
flex-basis: 510px
|
||||
flex-basis: 600px
|
||||
will-change: flex-basis
|
||||
overflow-y: scroll
|
||||
overflow-x: hidden
|
||||
@@ -105,12 +105,12 @@ avatar-radius = 50%
|
||||
padding-left: 0
|
||||
|
||||
.card-details-canvas
|
||||
width: 470px
|
||||
padding-left: 20px
|
||||
width: auto
|
||||
padding: 0 20px
|
||||
|
||||
.card-details-header
|
||||
margin: 0 -20px 5px
|
||||
padding 7px 16px
|
||||
padding 7px 20px
|
||||
background: darken(white, 7%)
|
||||
border-bottom: 1px solid darken(white, 14%)
|
||||
|
||||
@@ -198,23 +198,32 @@ avatar-radius = 50%
|
||||
margin-right: 0.5em
|
||||
&:last-child
|
||||
margin-right: 0
|
||||
&.card-details-item-labels,
|
||||
&.card-details-item-labels
|
||||
display: block
|
||||
word-wrap: break-word
|
||||
max-width: 95%
|
||||
flex-grow: 1
|
||||
&.card-details-item-members,
|
||||
&.card-details-item-assignees,
|
||||
&.card-details-item-received,
|
||||
&.card-details-item-start,
|
||||
&.card-details-item-due,
|
||||
&.card-details-item-end,
|
||||
&.card-details-item-customfield,
|
||||
&.card-details-item-name
|
||||
display: block
|
||||
word-wrap: break-word
|
||||
max-width: 48%
|
||||
max-width: 36%
|
||||
flex-grow: 1
|
||||
&.card-details-item-received,
|
||||
&.card-details-item-start,
|
||||
&.card-details-item-due,
|
||||
&.card-details-item-end
|
||||
display: block
|
||||
word-wrap: break-word
|
||||
max-width: 28%
|
||||
flex-grow: 1
|
||||
|
||||
.card-details-item-title
|
||||
font-size: 16px
|
||||
color: #000
|
||||
font-weight: bold
|
||||
color: #4d4d4d
|
||||
|
||||
.card-label
|
||||
padding-top: 5px
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
template(name="checklists")
|
||||
.checklists-title
|
||||
h3
|
||||
h3.card-details-item-title
|
||||
i.fa.fa-check
|
||||
| {{_ 'checklists'}}
|
||||
if currentUser.isBoardMember
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
template(name="subtasks")
|
||||
h3
|
||||
h3.card-details-item-title
|
||||
i.fa.fa-sitemap
|
||||
| {{_ 'subtasks'}}
|
||||
if toggleDeleteDialog.get
|
||||
|
||||
@@ -105,6 +105,8 @@ template(name="searchElementPopup")
|
||||
each boards
|
||||
option(value="{{_id}}") {{title}}
|
||||
form.js-search-term-form
|
||||
label
|
||||
| {{_ 'template'}}
|
||||
input(type="text" name="searchTerm" placeholder="{{_ 'search-example'}}" autofocus dir="auto")
|
||||
.list-body.search-card-results
|
||||
.minicards.clearfix.js-minicards
|
||||
|
||||
@@ -74,10 +74,34 @@ Template.userFormsLayout.helpers({
|
||||
let name = lang.name;
|
||||
if (lang.name === 'br') {
|
||||
name = 'Brezhoneg';
|
||||
} else if (lang.name === 'Español') {
|
||||
name = 'español';
|
||||
} else if (lang.name === 'Español de Argentina') {
|
||||
name = 'español de Argentina';
|
||||
} else if (lang.name === 'Español de Chile') {
|
||||
name = 'español de Chile';
|
||||
} else if (lang.name === 'Español de Colombia') {
|
||||
name = 'español de Colombia';
|
||||
} else if (lang.name === 'Español de México') {
|
||||
name = 'español de México';
|
||||
} else if (lang.name === 'Español de Puerto Rico') {
|
||||
name = 'español de Puerto Rico';
|
||||
} else if (lang.name === 'fr-BE') {
|
||||
name = 'Français (Belgique)';
|
||||
} else if (lang.name === 'fr-CA') {
|
||||
name = 'Français (Canada)';
|
||||
} else if (lang.name === 'fr-CA') {
|
||||
name = 'Français (Canada)';
|
||||
} else if (lang.name === 'ig') {
|
||||
name = 'Igbo';
|
||||
} else if (lang.name === 'lv') {
|
||||
name = 'Latviešu';
|
||||
} else if (lang.name === 'latviešu valoda') {
|
||||
name = 'Latviešu';
|
||||
} else if (lang.name === 'oc') {
|
||||
name = 'Occitan';
|
||||
} else if (lang.name === 'st') {
|
||||
name = 'Sãotomense';
|
||||
} else if (lang.name === '繁体中文(台湾)') {
|
||||
name = '繁體中文(台灣)';
|
||||
}
|
||||
|
||||
+2
-6
@@ -242,12 +242,6 @@ services:
|
||||
# https://github.com/wekan/wekan/pull/2560
|
||||
- RICHER_CARD_COMMENT_EDITOR=false
|
||||
#---------------------------------------------------------------
|
||||
# ==== MOUSE SCROLL ====
|
||||
# https://github.com/wekan/wekan/issues/2949
|
||||
- SCROLLINERTIA=0
|
||||
- SCROLLAMOUNT=auto
|
||||
- SCROLLDELTAFACTOR=auto
|
||||
#---------------------------------------------------------------
|
||||
# ==== CARD OPENED, SEND WEBHOOK MESSAGE ====
|
||||
# https://github.com/wekan/wekan/issues/2518
|
||||
- CARD_OPENED_WEBHOOK_ENABLED=false
|
||||
@@ -336,6 +330,8 @@ services:
|
||||
# 2) Configure the environment variables. This differs slightly
|
||||
# by installation type, but make sure you have the following:
|
||||
#- OAUTH2_ENABLED=true
|
||||
# Use OAuth2 ADFS additional changes. Also needs OAUTH2_ENABLED=true setting.
|
||||
#- OAUTH2_ADFS_ENABLED=false
|
||||
# OAuth2 login style: popup or redirect.
|
||||
#- OAUTH2_LOGIN_STYLE=redirect
|
||||
# Application GUID captured during app registration:
|
||||
|
||||
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+1
-1
@@ -465,7 +465,7 @@
|
||||
"search": "Search",
|
||||
"rules": "Rules",
|
||||
"search-cards": "Search from card/list titles, descriptions and custom fields on this board",
|
||||
"search-example": "Text to search for?",
|
||||
"search-example": "Write text you search and press Enter",
|
||||
"select-color": "Select Color",
|
||||
"set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
|
||||
"setWipLimitPopup-title": "Set WIP Limit",
|
||||
|
||||
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+1
-1
@@ -465,7 +465,7 @@
|
||||
"search": "جستجو",
|
||||
"rules": "قوانین",
|
||||
"search-cards": "جستجو در عناوین، توضیحات و فیلدهای سفارشیِ کارتها/لیستها در این برد",
|
||||
"search-example": "متن مورد جستجو؟",
|
||||
"search-example": "Write text you search and press Enter",
|
||||
"select-color": "انتخاب رنگ",
|
||||
"set-wip-limit-value": "تعیین بیشینه تعداد وظایف در این فهرست",
|
||||
"setWipLimitPopup-title": "Set WIP Limit",
|
||||
|
||||
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+1
-1
@@ -465,7 +465,7 @@
|
||||
"search": "検索",
|
||||
"rules": "ルール",
|
||||
"search-cards": "このボード上のカード/リストタイトル、詳細、カスタムフィールドから検索",
|
||||
"search-example": "検索文字",
|
||||
"search-example": "Write text you search and press Enter",
|
||||
"select-color": "色を選択",
|
||||
"set-wip-limit-value": "このリスト中のタスクの最大数を設定",
|
||||
"setWipLimitPopup-title": "仕掛中制限設定",
|
||||
|
||||
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+1
-1
@@ -465,7 +465,7 @@
|
||||
"search": "Meklēt",
|
||||
"rules": "Nosacījumi",
|
||||
"search-cards": "Meklēt pa kartiņu/sarakstu virsrakstiem, aprakstiem un laukiem šajā dēlī",
|
||||
"search-example": "Teksts kuru meklēt",
|
||||
"search-example": "Write text you search and press Enter",
|
||||
"select-color": "Mainīt krāsu",
|
||||
"set-wip-limit-value": "Iestatīt maksimālo skaitu ar kartiņām šajā sarakstā",
|
||||
"setWipLimitPopup-title": "Uzlikt WIP ierobežojumu",
|
||||
|
||||
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+1
-1
@@ -465,7 +465,7 @@
|
||||
"search": "Search",
|
||||
"rules": "Rules",
|
||||
"search-cards": "Search from card/list titles, descriptions and custom fields on this board",
|
||||
"search-example": "Text to search for?",
|
||||
"search-example": "Write text you search and press Enter",
|
||||
"select-color": "Select Color",
|
||||
"set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
|
||||
"setWipLimitPopup-title": "Set WIP Limit",
|
||||
|
||||
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+814
-814
File diff suppressed because it is too large.
Load diff
+11
-4
@@ -187,19 +187,26 @@ if (Meteor.isServer) {
|
||||
}
|
||||
|
||||
function isLdapEnabled() {
|
||||
return process.env.LDAP_ENABLE === 'true';
|
||||
return (
|
||||
process.env.LDAP_ENABLE === 'true' || process.env.LDAP_ENABLE === true
|
||||
);
|
||||
}
|
||||
|
||||
function isOauth2Enabled() {
|
||||
return process.env.OAUTH2_ENABLED === 'true';
|
||||
return (
|
||||
process.env.OAUTH2_ENABLED === 'true' ||
|
||||
process.env.OAUTH2_ENABLED === true
|
||||
);
|
||||
}
|
||||
|
||||
function isCasEnabled() {
|
||||
return process.env.CAS_ENABLED === 'true';
|
||||
return (
|
||||
process.env.CAS_ENABLED === 'true' || process.env.CAS_ENABLED === true
|
||||
);
|
||||
}
|
||||
|
||||
function isApiEnabled() {
|
||||
return process.env.WITH_API === 'true';
|
||||
return process.env.WITH_API === 'true' || process.env.WITH_API === true;
|
||||
}
|
||||
|
||||
Meteor.methods({
|
||||
|
||||
Generated
+51
-14
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "wekan",
|
||||
"version": "v4.27.0",
|
||||
"version": "v4.31.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
@@ -836,7 +836,6 @@
|
||||
"version": "1.0.10",
|
||||
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
|
||||
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"sprintf-js": "~1.0.2"
|
||||
}
|
||||
@@ -1529,6 +1528,11 @@
|
||||
"integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
|
||||
"dev": true
|
||||
},
|
||||
"entities": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz",
|
||||
"integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ=="
|
||||
},
|
||||
"error-ex": {
|
||||
"version": "1.3.2",
|
||||
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
|
||||
@@ -2300,9 +2304,8 @@
|
||||
"dev": true
|
||||
},
|
||||
"gridfs-stream": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/gridfs-stream/-/gridfs-stream-1.1.1.tgz",
|
||||
"integrity": "sha1-PdOhAOwgIaGBKC9utGcJY2B034k=",
|
||||
"version": "https://github.com/wekan/gridfs-stream/tarball/master",
|
||||
"integrity": "sha512-vGe0SUuTpDFEkHFyEJEheToH4LYyCb0Kvat2iB6xTU6PdiCsKGi3VXkM1cc7Zda4Ulu7Mg1p9OAWG718xll7Fg==",
|
||||
"requires": {
|
||||
"flushwritable": "^1.0.0"
|
||||
}
|
||||
@@ -2896,6 +2899,14 @@
|
||||
"immediate": "~3.0.5"
|
||||
}
|
||||
},
|
||||
"linkify-it": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.2.tgz",
|
||||
"integrity": "sha512-gDBO4aHNZS6coiZCKVhSNh43F9ioIL4JwRjLZPkoLIY4yZFwg264Y5lu2x6rb1Js42Gh6Yqm2f6L2AJcnkzinQ==",
|
||||
"requires": {
|
||||
"uc.micro": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"lint-staged": {
|
||||
"version": "7.3.0",
|
||||
"resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-7.3.0.tgz",
|
||||
@@ -3197,6 +3208,28 @@
|
||||
"object-visit": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"markdown-it": {
|
||||
"version": "11.0.0",
|
||||
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-11.0.0.tgz",
|
||||
"integrity": "sha512-+CvOnmbSubmQFSA9dKz1BRiaSMV7rhexl3sngKqFyXSagoA3fBdJQ8oZWtRy2knXdpDXaBw44euz37DeJQ9asg==",
|
||||
"requires": {
|
||||
"argparse": "^1.0.7",
|
||||
"entities": "~2.0.0",
|
||||
"linkify-it": "^3.0.1",
|
||||
"mdurl": "^1.0.1",
|
||||
"uc.micro": "^1.0.5"
|
||||
}
|
||||
},
|
||||
"markdown-it-emoji": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/markdown-it-emoji/-/markdown-it-emoji-1.4.0.tgz",
|
||||
"integrity": "sha1-m+4OmpkKljupbfaYDE/dsF37Tcw="
|
||||
},
|
||||
"mdurl": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
|
||||
"integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4="
|
||||
},
|
||||
"memory-pager": {
|
||||
"version": "1.5.0",
|
||||
"resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
|
||||
@@ -3857,11 +3890,11 @@
|
||||
"optional": true
|
||||
},
|
||||
"mongodb": {
|
||||
"version": "3.5.8",
|
||||
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.5.8.tgz",
|
||||
"integrity": "sha512-jz7mR58z66JKL8Px4ZY+FXbgB7d0a0hEGCT7kw8iye46/gsqPrOEpZOswwJ2BQlfzsrCLKdsF9UcaUfGVN2HrQ==",
|
||||
"version": "3.6.2",
|
||||
"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.6.2.tgz",
|
||||
"integrity": "sha512-sSZOb04w3HcnrrXC82NEh/YGCmBuRgR+C1hZgmmv4L6dBz4BkRse6Y8/q/neXer9i95fKUBbFi4KgeceXmbsOA==",
|
||||
"requires": {
|
||||
"bl": "^2.2.0",
|
||||
"bl": "^2.2.1",
|
||||
"bson": "^1.1.4",
|
||||
"denque": "^1.4.1",
|
||||
"require_optional": "^1.0.1",
|
||||
@@ -3870,9 +3903,9 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"bson": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/bson/-/bson-1.1.4.tgz",
|
||||
"integrity": "sha512-S/yKGU1syOMzO86+dGpg2qGoDL0zvzcb262G+gqEy6TgP6rt6z6qxSFX/8X6vLC91P7G7C3nLs0+bvDzmvBA3Q=="
|
||||
"version": "1.1.5",
|
||||
"resolved": "https://registry.npmjs.org/bson/-/bson-1.1.5.tgz",
|
||||
"integrity": "sha512-kDuEzldR21lHciPQAIulLs1LZlCXdLziXI6Mb/TDkwXhb//UORJNPXgcRs2CuO4H0DcMkpfT3/ySsP3unoZjBg=="
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -5048,8 +5081,7 @@
|
||||
"sprintf-js": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
|
||||
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
|
||||
"dev": true
|
||||
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
|
||||
},
|
||||
"staged-git-files": {
|
||||
"version": "1.1.1",
|
||||
@@ -5373,6 +5405,11 @@
|
||||
"integrity": "sha512-D/wqnB2xzNFIcoBG9FG8cXRDjiqSTbG2wd8DMZeQyJlP1vfTkIxH4GKveWaEBYySKIg+USu+E+EDIR47SqnaMQ==",
|
||||
"dev": true
|
||||
},
|
||||
"uc.micro": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
|
||||
"integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA=="
|
||||
},
|
||||
"union-value": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
|
||||
|
||||
+5
-3
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "wekan",
|
||||
"version": "v4.27.0",
|
||||
"version": "v4.31.0",
|
||||
"description": "Open-Source kanban",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
@@ -65,11 +65,13 @@
|
||||
"es6-promise": "^4.2.4",
|
||||
"fibers": "^5.0.0",
|
||||
"flatted": "^3.0.4",
|
||||
"gridfs-stream": "^1.1.1",
|
||||
"gridfs-stream": "https://github.com/wekan/gridfs-stream/tarball/master",
|
||||
"jszip": "^3.4.0",
|
||||
"ldapjs": "^2.1.1",
|
||||
"markdown-it": "^11.0.0",
|
||||
"markdown-it-emoji": "^1.4.0",
|
||||
"meteor-node-stubs": "^1.0.1",
|
||||
"mongodb": "^3.5.7",
|
||||
"mongodb": "^3.6.2",
|
||||
"os": "^0.1.1",
|
||||
"page": "^1.11.5",
|
||||
"papaparse": "^5.2.0",
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
# License information
|
||||
|
||||
## Contribution License Agreement
|
||||
|
||||
If you contribute code to this project, you are implicitly allowing your code
|
||||
to be distributed under the MIT license. You are also implicitly verifying that
|
||||
all code is your original work. `</legalese>`
|
||||
|
||||
## Marked
|
||||
|
||||
Copyright (c) 2011-2018, Christopher Jeffrey (https://github.com/chjj/)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
## Markdown
|
||||
|
||||
Copyright © 2004, John Gruber
|
||||
http://daringfireball.net/
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
* Neither the name “Markdown” nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
||||
|
||||
This software is provided by the copyright holders and contributors “as is” and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright owner or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.
|
||||
@@ -1,76 +0,0 @@
|
||||
<a href="https://marked.js.org">
|
||||
<img width="60px" height="60px" src="https://marked.js.org/img/logo-black.svg" align="right" />
|
||||
</a>
|
||||
|
||||
# Marked
|
||||
|
||||
[](https://www.npmjs.com/package/marked)
|
||||
[](https://cdn.jsdelivr.net/npm/marked/marked.min.js)
|
||||
[](https://packagephobia.now.sh/result?p=marked)
|
||||
[](https://www.npmjs.com/package/marked)
|
||||
[](https://david-dm.org/markedjs/marked)
|
||||
[](https://david-dm.org/markedjs/marked?type=dev)
|
||||
[](https://travis-ci.org/markedjs/marked)
|
||||
[](https://snyk.io/test/npm/marked)
|
||||
|
||||
- ⚡ built for speed
|
||||
- ⬇️ low-level compiler for parsing markdown without caching or blocking for long periods of time
|
||||
- ⚖️ light-weight while implementing all markdown features from the supported flavors & specifications
|
||||
- 🌐 works in a browser, on a server, or from a command line interface (CLI)
|
||||
|
||||
## Demo
|
||||
|
||||
Checkout the [demo page](https://marked.js.org/demo/) to see marked in action ⛹️
|
||||
|
||||
## Docs
|
||||
|
||||
Our [documentation pages](https://marked.js.org) are also rendered using marked 💯
|
||||
|
||||
Also read about:
|
||||
|
||||
* [Options](https://marked.js.org/#/USING_ADVANCED.md)
|
||||
* [Extensibility](https://marked.js.org/#/USING_PRO.md)
|
||||
|
||||
## Installation
|
||||
|
||||
**CLI:** `npm install -g marked`
|
||||
|
||||
**In-browser:** `npm install marked`
|
||||
|
||||
## Usage
|
||||
|
||||
### Warning: 🚨 Marked does not [sanitize](https://marked.js.org/#/USING_ADVANCED.md#options) the output HTML. Please use a sanitize library, like [DOMPurify](https://github.com/cure53/DOMPurify) (recommended), [sanitize-html](https://github.com/apostrophecms/sanitize-html) or [insane](https://github.com/bevacqua/insane) on the output HTML! 🚨
|
||||
|
||||
**CLI**
|
||||
|
||||
``` bash
|
||||
$ marked -o hello.html
|
||||
hello world
|
||||
^D
|
||||
$ cat hello.html
|
||||
<p>hello world</p>
|
||||
```
|
||||
|
||||
**Browser**
|
||||
|
||||
```html
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<title>Marked in the browser</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="content"></div>
|
||||
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
|
||||
<script>
|
||||
document.getElementById('content').innerHTML =
|
||||
marked('# Marked in the browser\n\nRendered by **marked**.');
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
Copyright (c) 2011-2018, Christopher Jeffrey. (MIT License)
|
||||
@@ -1,11 +0,0 @@
|
||||
# Security Policy
|
||||
|
||||
The only completely secure system is the one that doesn't exist in the first place.
|
||||
Having said that, we take the security of Marked very seriously.
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
Please disclose potential security issues by email to the project [committers](https://marked.js.org/#/AUTHORS.md) as well as the [listed owners within NPM](https://docs.npmjs.com/cli/owner).
|
||||
We will provide an initial assessment of security reports within 48 hours and should apply patches within 2 weeks
|
||||
(also, feel free to contribute a fix for the issue).
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -1,111 +0,0 @@
|
||||
.ds q \N'34'
|
||||
.TH marked 1
|
||||
|
||||
.SH NAME
|
||||
marked \- a javascript markdown parser
|
||||
|
||||
.SH SYNOPSIS
|
||||
.B marked
|
||||
[\-o \fI<output>\fP] [\-i \fI<input>\fP] [\-\-help]
|
||||
[\-\-tokens] [\-\-pedantic] [\-\-gfm]
|
||||
[\-\-breaks] [\-\-sanitize]
|
||||
[\-\-smart\-lists] [\-\-lang\-prefix \fI<prefix>\fP]
|
||||
[\-\-no\-etc...] [\-\-silent] [\fIfilename\fP]
|
||||
|
||||
.SH DESCRIPTION
|
||||
.B marked
|
||||
is a full-featured javascript markdown parser, built for speed.
|
||||
It also includes multiple GFM features.
|
||||
|
||||
.SH EXAMPLES
|
||||
.TP
|
||||
cat in.md | marked > out.html
|
||||
.TP
|
||||
echo "hello *world*" | marked
|
||||
.TP
|
||||
marked \-o out.html \-i in.md \-\-gfm
|
||||
.TP
|
||||
marked \-\-output="hello world.html" \-i in.md \-\-no-breaks
|
||||
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
.BI \-o,\ \-\-output\ [\fIoutput\fP]
|
||||
Specify file output. If none is specified, write to stdout.
|
||||
.TP
|
||||
.BI \-i,\ \-\-input\ [\fIinput\fP]
|
||||
Specify file input, otherwise use last argument as input file.
|
||||
If no input file is specified, read from stdin.
|
||||
.TP
|
||||
.BI \-\-test
|
||||
Makes sure the test(s) pass.
|
||||
.RS
|
||||
.PP
|
||||
.B \-\-glob [\fIfile\fP]
|
||||
Specify which test to use.
|
||||
.PP
|
||||
.B \-\-fix
|
||||
Fixes tests.
|
||||
.PP
|
||||
.B \-\-bench
|
||||
Benchmarks the test(s).
|
||||
.PP
|
||||
.B \-\-time
|
||||
Times The test(s).
|
||||
.PP
|
||||
.B \-\-minified
|
||||
Runs test file(s) as minified.
|
||||
.PP
|
||||
.B \-\-stop
|
||||
Stop process if a test fails.
|
||||
.RE
|
||||
.TP
|
||||
.BI \-t,\ \-\-tokens
|
||||
Output a token stream instead of html.
|
||||
.TP
|
||||
.BI \-\-pedantic
|
||||
Conform to obscure parts of markdown.pl as much as possible.
|
||||
Don't fix original markdown bugs.
|
||||
.TP
|
||||
.BI \-\-gfm
|
||||
Enable github flavored markdown.
|
||||
.TP
|
||||
.BI \-\-breaks
|
||||
Enable GFM line breaks. Only works with the gfm option.
|
||||
.TP
|
||||
.BI \-\-sanitize
|
||||
Sanitize output. Ignore any HTML input.
|
||||
.TP
|
||||
.BI \-\-smart\-lists
|
||||
Use smarter list behavior than the original markdown.
|
||||
.TP
|
||||
.BI \-\-lang\-prefix\ [\fIprefix\fP]
|
||||
Set the prefix for code block classes.
|
||||
.TP
|
||||
.BI \-\-mangle
|
||||
Mangle email addresses.
|
||||
.TP
|
||||
.BI \-\-no\-sanitize,\ \-no-etc...
|
||||
The inverse of any of the marked options above.
|
||||
.TP
|
||||
.BI \-\-silent
|
||||
Silence error output.
|
||||
.TP
|
||||
.BI \-h,\ \-\-help
|
||||
Display help information.
|
||||
|
||||
.SH CONFIGURATION
|
||||
For configuring and running programmatically.
|
||||
|
||||
.B Example
|
||||
|
||||
require('marked')('*foo*', { gfm: true });
|
||||
|
||||
.SH BUGS
|
||||
Please report any bugs to https://github.com/markedjs/marked.
|
||||
|
||||
.SH LICENSE
|
||||
Copyright (c) 2011-2014, Christopher Jeffrey (MIT License).
|
||||
|
||||
.SH "SEE ALSO"
|
||||
.BR markdown(1),
|
||||
.BR node.js(1)
|
||||
@@ -1,96 +0,0 @@
|
||||
marked(1) General Commands Manual marked(1)
|
||||
|
||||
NAME
|
||||
marked - a javascript markdown parser
|
||||
|
||||
SYNOPSIS
|
||||
marked [-o <output>] [-i <input>] [--help] [--tokens] [--pedantic]
|
||||
[--gfm] [--breaks] [--sanitize] [--smart-lists] [--lang-prefix <pre-
|
||||
fix>] [--no-etc...] [--silent] [filename]
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
marked is a full-featured javascript markdown parser, built for speed.
|
||||
It also includes multiple GFM features.
|
||||
|
||||
EXAMPLES
|
||||
cat in.md | marked > out.html
|
||||
|
||||
echo "hello *world*" | marked
|
||||
|
||||
marked -o out.html -i in.md --gfm
|
||||
|
||||
marked --output="hello world.html" -i in.md --no-breaks
|
||||
|
||||
OPTIONS
|
||||
-o, --output [output]
|
||||
Specify file output. If none is specified, write to stdout.
|
||||
|
||||
-i, --input [input]
|
||||
Specify file input, otherwise use last argument as input file.
|
||||
If no input file is specified, read from stdin.
|
||||
|
||||
--test Makes sure the test(s) pass.
|
||||
|
||||
--glob [file] Specify which test to use.
|
||||
|
||||
--fix Fixes tests.
|
||||
|
||||
--bench Benchmarks the test(s).
|
||||
|
||||
--time Times The test(s).
|
||||
|
||||
--minified Runs test file(s) as minified.
|
||||
|
||||
--stop Stop process if a test fails.
|
||||
|
||||
-t, --tokens
|
||||
Output a token stream instead of html.
|
||||
|
||||
--pedantic
|
||||
Conform to obscure parts of markdown.pl as much as possible.
|
||||
Don't fix original markdown bugs.
|
||||
|
||||
--gfm Enable github flavored markdown.
|
||||
|
||||
--breaks
|
||||
Enable GFM line breaks. Only works with the gfm option.
|
||||
|
||||
--sanitize
|
||||
Sanitize output. Ignore any HTML input.
|
||||
|
||||
--smart-lists
|
||||
Use smarter list behavior than the original markdown.
|
||||
|
||||
--lang-prefix [prefix]
|
||||
Set the prefix for code block classes.
|
||||
|
||||
--mangle
|
||||
Mangle email addresses.
|
||||
|
||||
--no-sanitize, -no-etc...
|
||||
The inverse of any of the marked options above.
|
||||
|
||||
--silent
|
||||
Silence error output.
|
||||
|
||||
-h, --help
|
||||
Display help information.
|
||||
|
||||
CONFIGURATION
|
||||
For configuring and running programmatically.
|
||||
|
||||
Example
|
||||
|
||||
require('marked')('*foo*', { gfm: true });
|
||||
|
||||
BUGS
|
||||
Please report any bugs to https://github.com/markedjs/marked.
|
||||
|
||||
LICENSE
|
||||
Copyright (c) 2011-2014, Christopher Jeffrey (MIT License).
|
||||
|
||||
SEE ALSO
|
||||
markdown(1), node.js(1)
|
||||
|
||||
marked(1)
|
||||
-3475
File diff suppressed because it is too large.
Load diff
@@ -1,82 +0,0 @@
|
||||
{
|
||||
"name": "marked",
|
||||
"description": "A markdown parser built for speed",
|
||||
"author": "Christopher Jeffrey",
|
||||
"version": "1.1.1",
|
||||
"main": "./src/marked.js",
|
||||
"browser": "./lib/marked.js",
|
||||
"bin": "./bin/marked",
|
||||
"man": "./man/marked.1",
|
||||
"files": [
|
||||
"bin/",
|
||||
"lib/",
|
||||
"src/",
|
||||
"man/",
|
||||
"marked.min.js"
|
||||
],
|
||||
"repository": "git://github.com/markedjs/marked.git",
|
||||
"homepage": "https://marked.js.org",
|
||||
"bugs": {
|
||||
"url": "http://github.com/markedjs/marked/issues"
|
||||
},
|
||||
"license": "MIT",
|
||||
"keywords": [
|
||||
"markdown",
|
||||
"markup",
|
||||
"html"
|
||||
],
|
||||
"tags": [
|
||||
"markdown",
|
||||
"markup",
|
||||
"html"
|
||||
],
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.10.4",
|
||||
"@babel/preset-env": "^7.10.4",
|
||||
"@markedjs/html-differ": "^3.0.2",
|
||||
"cheerio": "^1.0.0-rc.3",
|
||||
"commonmark": "0.29.1",
|
||||
"eslint": "^7.4.0",
|
||||
"eslint-config-standard": "^14.1.1",
|
||||
"eslint-plugin-import": "^2.22.0",
|
||||
"eslint-plugin-node": "^11.1.0",
|
||||
"eslint-plugin-promise": "^4.2.1",
|
||||
"eslint-plugin-standard": "^4.0.1",
|
||||
"front-matter": "^4.0.2",
|
||||
"highlight.js": "^10.1.2",
|
||||
"jasmine": "^3.5.0",
|
||||
"markdown": "0.5.x",
|
||||
"markdown-it": "11.x",
|
||||
"node-fetch": "^2.6.0",
|
||||
"rollup": "^2.21.0",
|
||||
"rollup-plugin-babel": "^4.4.0",
|
||||
"rollup-plugin-commonjs": "^10.1.0",
|
||||
"rollup-plugin-license": "^2.1.0",
|
||||
"titleize": "^2.1.0",
|
||||
"uglify-js": "^3.10.0",
|
||||
"vuln-regex-detector": "^1.3.0"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "jasmine --config=jasmine.json",
|
||||
"test:all": "npm test && npm run test:lint",
|
||||
"test:unit": "npm test -- test/unit/**/*-spec.js",
|
||||
"test:specs": "npm test -- test/specs/**/*-spec.js",
|
||||
"test:lint": "eslint bin/marked .",
|
||||
"test:redos": "node test/vuln-regex.js",
|
||||
"test:update": "node test/update-specs.js",
|
||||
"rules": "node test/rules.js",
|
||||
"bench": "npm run rollup && node test/bench.js",
|
||||
"lint": "eslint --fix bin/marked .",
|
||||
"build:reset": "git checkout upstream/master lib/marked.js lib/marked.esm.js marked.min.js",
|
||||
"build": "npm run rollup && npm run minify",
|
||||
"build:docs": "node build-docs.js",
|
||||
"rollup": "npm run rollup:umd && npm run rollup:esm",
|
||||
"rollup:umd": "rollup -c rollup.config.js",
|
||||
"rollup:esm": "rollup -c rollup.config.esm.js",
|
||||
"minify": "uglifyjs lib/marked.js -cm --comments /Copyright/ -o marked.min.js",
|
||||
"preversion": "npm run build && (git diff --quiet || git commit -am build)"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 8.16.2"
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,6 @@
|
||||
// Source: https://github.com/chjj/marked
|
||||
|
||||
Package.describe({
|
||||
name: 'wekan-markdown',
|
||||
summary: 'GitHub flavored markdown parser for Meteor based on marked.js',
|
||||
summary: 'GitHub flavored markdown parser for Meteor based on markdown-it',
|
||||
version: '1.0.9',
|
||||
git: 'https://github.com/wekan/markdown.git',
|
||||
});
|
||||
@@ -16,8 +14,6 @@ Package.onUse(function (api) {
|
||||
api.use('templating');
|
||||
api.use("ecmascript", ['server', 'client']);
|
||||
|
||||
api.add_files('marked/lib/marked.js', ['server', 'client']);
|
||||
api.add_files('src/markdown.js', ['server', 'client']);
|
||||
api.export('Markdown', ['server', 'client']);
|
||||
|
||||
api.use('ui', 'client', {weak: true});
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
import marked from '../marked/lib/marked.js';
|
||||
|
||||
marked.setOptions({
|
||||
gfm: true,
|
||||
tables: true,
|
||||
breaks: true,
|
||||
});
|
||||
|
||||
Markdown = marked;
|
||||
@@ -1,4 +1,13 @@
|
||||
import sanitizeXss from 'xss';
|
||||
var Markdown = require('markdown-it')({
|
||||
html: true,
|
||||
linkify: true,
|
||||
typographer: true,
|
||||
breaks: true,
|
||||
});
|
||||
|
||||
var emoji = require('markdown-it-emoji');
|
||||
Markdown.use(emoji);
|
||||
|
||||
if (Package.ui) {
|
||||
const Template = Package.templating.Template;
|
||||
@@ -13,6 +22,6 @@ if (Package.ui) {
|
||||
text = Blaze._toText(self.templateContentBlock, HTML.TEXTMODE.STRING);
|
||||
}
|
||||
|
||||
return HTML.Raw(sanitizeXss(Markdown(text)));
|
||||
return HTML.Raw(sanitizeXss(Markdown.render(text)));
|
||||
}));
|
||||
}
|
||||
@@ -9,7 +9,20 @@ OAuth.registerService('oidc', 2, null, function (query) {
|
||||
var accessToken = token.access_token || token.id_token;
|
||||
var expiresAt = (+new Date) + (1000 * parseInt(token.expires_in, 10));
|
||||
|
||||
var userinfo = getUserInfo(accessToken);
|
||||
var claimsInAccessToken = (process.env.OAUTH2_ADFS_ENABLED === 'true' || process.env.OAUTH2_ADFS_ENABLED === true) || false;
|
||||
|
||||
var userinfo;
|
||||
if(claimsInAccessToken)
|
||||
{
|
||||
// hack when using custom claims in the accessToken. On premise ADFS
|
||||
userinfo = getTokenContent(accessToken);
|
||||
}
|
||||
else
|
||||
{
|
||||
// normal behaviour, getting the claims from UserInfo endpoint.
|
||||
userinfo = getUserInfo(accessToken);
|
||||
}
|
||||
|
||||
if (userinfo.ocs) userinfo = userinfo.ocs.data; // Nextcloud hack
|
||||
if (userinfo.metadata) userinfo = userinfo.metadata // Openshift hack
|
||||
if (debug) console.log('XXX: userinfo:', userinfo);
|
||||
|
||||
@@ -1524,7 +1524,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
|
||||
<ul class="toc-list-h1">
|
||||
|
||||
<li>
|
||||
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v4.27">Wekan REST API v4.27</a>
|
||||
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v4.31">Wekan REST API v4.31</a>
|
||||
|
||||
</li>
|
||||
|
||||
@@ -2027,7 +2027,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
|
||||
<div class="page-wrapper">
|
||||
<div class="dark-box"></div>
|
||||
<div class="content">
|
||||
<h1 id="wekan-rest-api">Wekan REST API v4.27</h1>
|
||||
<h1 id="wekan-rest-api">Wekan REST API v4.31</h1>
|
||||
<blockquote>
|
||||
<p>Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.</p>
|
||||
</blockquote>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
swagger: '2.0'
|
||||
info:
|
||||
title: Wekan REST API
|
||||
version: v4.27
|
||||
version: 4.31
|
||||
description: |
|
||||
The REST API allows you to control and extend Wekan with ease.
|
||||
|
||||
|
||||
+362
-346
@@ -1,351 +1,367 @@
|
||||
# If you want to restart even on crash, uncomment while and done lines.
|
||||
|
||||
#while true; do
|
||||
cd ~/repos/wekan/.build/bundle
|
||||
#---------------------------------------------
|
||||
# Debug OIDC OAuth2 etc.
|
||||
#export export DEBUG=true
|
||||
#---------------------------------------------
|
||||
export MONGO_URL='mongodb://127.0.0.1:27017/admin'
|
||||
# ROOT_URL EXAMPLES FOR WEBSERVERS: https://github.com/wekan/wekan/wiki/Settings
|
||||
# Production: https://example.com/wekan
|
||||
# Local: http://localhost:3000
|
||||
#export ipaddress=$(ifdata -pa eth0)
|
||||
export ROOT_URL='http://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
|
||||
export MAIL_URL='smtp://user:pass@mailserver.example.com:25/'
|
||||
export MAIL_FROM='Wekan Support <support@example.com>'
|
||||
# This is local port where Wekan Node.js runs, same as below on Caddyfile settings.
|
||||
export PORT=80
|
||||
#---------------------------------------------
|
||||
# Wekan Export Board works when WITH_API='true'.
|
||||
# If you disable Wekan API, Export Board does not work.
|
||||
export WITH_API='true'
|
||||
#---------------------------------------------------------------
|
||||
# ==== PASSWORD BRUTE FORCE PROTECTION ====
|
||||
#https://atmospherejs.com/lucasantoniassi/accounts-lockout
|
||||
#Defaults below. Uncomment to change. wekan/server/accounts-lockout.js
|
||||
#export ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURES_BEFORE=3
|
||||
#export ACCOUNTS_LOCKOUT_KNOWN_USERS_PERIOD=60
|
||||
#export ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURE_WINDOW=15
|
||||
#export ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURES_BERORE=3
|
||||
#export ACCOUNTS_LOCKOUT_UNKNOWN_USERS_LOCKOUT_PERIOD=60
|
||||
#export ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURE_WINDOW=15
|
||||
#---------------------------------------------------------------
|
||||
# ==== RICH TEXT EDITOR IN CARD COMMENTS ====
|
||||
# https://github.com/wekan/wekan/pull/2560
|
||||
export RICHER_CARD_COMMENT_EDITOR=true
|
||||
#---------------------------------------------------------------
|
||||
# ==== CARD OPENED, SEND WEBHOOK MESSAGE ====
|
||||
export CARD_OPENED_WEBHOOK_ENABLED=false
|
||||
#---------------------------------------------------------------
|
||||
# ==== Allow to shrink attached/pasted image ====
|
||||
# https://github.com/wekan/wekan/pull/2544
|
||||
#export MAX_IMAGE_PIXEL=1024
|
||||
#export 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
|
||||
#export BIGEVENTS_PATTERN=due
|
||||
# b) All
|
||||
#export BIGEVENTS_PATTERN=received|start|due|end
|
||||
# c) Disabled
|
||||
export 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.
|
||||
#export 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.
|
||||
#export NOTIFY_DUE_AT_HOUR_OF_DAY=8
|
||||
#-----------------------------------------------------------------
|
||||
# ==== EMAIL NOTIFICATION TIMEOUT, ms =====
|
||||
# Defaut: 30000 ms = 30s
|
||||
#export EMAIL_NOTIFICATION_TIMEOUT=30000
|
||||
#-----------------------------------------------------------------
|
||||
# CORS: Set Access-Control-Allow-Origin header. Example: *
|
||||
#export CORS=*
|
||||
# To enable the Set Access-Control-Allow-Headers header. "Authorization,Content-Type" is required for cross-origin use of the API.
|
||||
#export CORS_ALLOW_HEADERS=Authorization,Content-Type
|
||||
# To enable the Set Access-Control-Expose-Headers header. This is not needed for typical CORS situations. Example: *
|
||||
#export 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:
|
||||
##export MATOMO_ADDRESS=https://example.com/matomo
|
||||
#export MATOMO_ADDRESS=
|
||||
## The value of the site ID given in Matomo server for Wekan
|
||||
# Example: export MATOMO_SITE_ID=123456789
|
||||
#export MATOMO_SITE_ID=''
|
||||
## The option do not track which enables users to not be tracked by matomo"
|
||||
#Example: export MATOMO_DO_NOT_TRACK=false
|
||||
#export MATOMO_DO_NOT_TRACK=true
|
||||
## The option that allows matomo to retrieve the username:
|
||||
# Example: export MATOMO_WITH_USERNAME=true
|
||||
#export 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
|
||||
# Default value: true
|
||||
export BROWSER_POLICY_ENABLED=true
|
||||
# When browser policy is enabled, HTML code at this Trusted URL can have iframe that embeds Wekan inside.
|
||||
# Example: export TRUSTED_URL=http://example.com
|
||||
export TRUSTED_URL=''
|
||||
# What to send to Outgoing Webhook, or leave out. Example, that includes all that are default: cardId,listId,oldListId,boardId,comment,user,card,commentId .
|
||||
# Example: export WEBHOOKS_ATTRIBUTES=cardId,listId,oldListId,boardId,comment,user,card,commentId
|
||||
export WEBHOOKS_ATTRIBUTES=''
|
||||
#---------------------------------------------
|
||||
# ==== OAUTH2 AZURE ====
|
||||
# https://github.com/wekan/wekan/wiki/Azure
|
||||
# 1) Register the application with Azure. Make sure you capture
|
||||
# the application ID as well as generate a secret key.
|
||||
# 2) Configure the environment variables. This differs slightly
|
||||
# by installation type, but make sure you have the following:
|
||||
#export OAUTH2_ENABLED=true
|
||||
# OAuth2 login style: popup or redirect.
|
||||
#export OAUTH2_LOGIN_STYLE=redirect
|
||||
# Application GUID captured during app registration:
|
||||
#export OAUTH2_CLIENT_ID=xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx
|
||||
# Secret key generated during app registration:
|
||||
#export OAUTH2_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
#export OAUTH2_SERVER_URL=https://login.microsoftonline.com/
|
||||
#export OAUTH2_AUTH_ENDPOINT=/oauth2/v2.0/authorize
|
||||
#export OAUTH2_USERINFO_ENDPOINT=https://graph.microsoft.com/oidc/userinfo
|
||||
#export OAUTH2_TOKEN_ENDPOINT=/oauth2/v2.0/token
|
||||
# OAUTH2 ID Token Whitelist Fields.
|
||||
#export OAUTH2_ID_TOKEN_WHITELIST_FIELDS=[]
|
||||
# OAUTH2 Request Permissions.
|
||||
#export OAUTH2_REQUEST_PERMISSIONS='openid profile email'
|
||||
# The claim name you want to map to the unique ID field:
|
||||
#export OAUTH2_ID_MAP=email
|
||||
# The claim name you want to map to the username field:
|
||||
#export OAUTH2_USERNAME_MAP=email
|
||||
# The claim name you want to map to the full name field:
|
||||
#export OAUTH2_FULLNAME_MAP=name
|
||||
# Tthe claim name you want to map to the email field:
|
||||
#export OAUTH2_EMAIL_MAP=email
|
||||
#-----------------------------------------------------------------
|
||||
# ==== OAUTH2 KEYCLOAK ====
|
||||
# https://github.com/wekan/wekan/wiki/Keycloak <== MAPPING INFO, REQUIRED
|
||||
#export OAUTH2_ENABLED=true
|
||||
# OAuth2 login style: popup or redirect.
|
||||
#export OAUTH2_LOGIN_STYLE=redirect
|
||||
#export OAUTH2_CLIENT_ID=<Keycloak create Client ID>
|
||||
#export OAUTH2_SERVER_URL=<Keycloak server name>/auth
|
||||
#export OAUTH2_AUTH_ENDPOINT=/realms/<keycloak realm>/protocol/openid-connect/auth
|
||||
#export OAUTH2_USERINFO_ENDPOINT=/realms/<keycloak realm>/protocol/openid-connect/userinfo
|
||||
#export OAUTH2_TOKEN_ENDPOINT=/realms/<keycloak realm>/protocol/openid-connect/token
|
||||
#export OAUTH2_SECRET=<keycloak client secret>
|
||||
#-----------------------------------------------------------------
|
||||
# ==== OAUTH2 DOORKEEPER ====
|
||||
# OAuth2 docs: https://github.com/wekan/wekan/wiki/OAuth2
|
||||
# https://github.com/wekan/wekan/issues/1874
|
||||
# https://github.com/wekan/wekan/wiki/OAuth2
|
||||
# Enable the OAuth2 connection
|
||||
#export OAUTH2_ENABLED=true
|
||||
# OAuth2 login style: popup or redirect.
|
||||
#export OAUTH2_LOGIN_STYLE=redirect
|
||||
# OAuth2 Client ID.
|
||||
#export OAUTH2_CLIENT_ID=abcde12345
|
||||
# OAuth2 Secret.
|
||||
#export OAUTH2_SECRET=54321abcde
|
||||
# OAuth2 Server URL.
|
||||
#export OAUTH2_SERVER_URL=https://chat.example.com
|
||||
# OAuth2 Authorization Endpoint.
|
||||
#export OAUTH2_AUTH_ENDPOINT=/oauth/authorize
|
||||
# OAuth2 Userinfo Endpoint.
|
||||
#export OAUTH2_USERINFO_ENDPOINT=/oauth/userinfo
|
||||
# OAuth2 Token Endpoint.
|
||||
#export OAUTH2_TOKEN_ENDPOINT=/oauth/token
|
||||
# OAuth2 ID Mapping
|
||||
#export OAUTH2_ID_MAP=
|
||||
# OAuth2 Username Mapping
|
||||
#export OAUTH2_USERNAME_MAP=
|
||||
# OAuth2 Fullname Mapping
|
||||
#export OAUTH2_FULLNAME_MAP=
|
||||
# OAuth2 Email Mapping
|
||||
#export OAUTH2_EMAIL_MAP=
|
||||
#---------------------------------------------
|
||||
# LDAP_ENABLE : Enable or not the connection by the LDAP
|
||||
# example : export LDAP_ENABLE=true
|
||||
#export LDAP_ENABLE=false
|
||||
# LDAP_PORT : The port of the LDAP server
|
||||
# example : export LDAP_PORT=389
|
||||
#export LDAP_PORT=389
|
||||
# LDAP_HOST : The host server for the LDAP server
|
||||
# example : export LDAP_HOST=localhost
|
||||
#export LDAP_HOST=
|
||||
# LDAP_BASEDN : The base DN for the LDAP Tree
|
||||
# example : export LDAP_BASEDN=ou=user,dc=example,dc=org
|
||||
#export LDAP_BASEDN=
|
||||
# LDAP_LOGIN_FALLBACK : Fallback on the default authentication method
|
||||
# example : export LDAP_LOGIN_FALLBACK=true
|
||||
#export LDAP_LOGIN_FALLBACK=false
|
||||
# LDAP_RECONNECT : Reconnect to the server if the connection is lost
|
||||
# example : export LDAP_RECONNECT=false
|
||||
#export LDAP_RECONNECT=true
|
||||
# LDAP_TIMEOUT : Overall timeout, in milliseconds
|
||||
# example : export LDAP_TIMEOUT=12345
|
||||
#export LDAP_TIMEOUT=10000
|
||||
# LDAP_IDLE_TIMEOUT : Specifies the timeout for idle LDAP connections in milliseconds
|
||||
# example : export LDAP_IDLE_TIMEOUT=12345
|
||||
#export LDAP_IDLE_TIMEOUT=10000
|
||||
# LDAP_CONNECT_TIMEOUT : Connection timeout, in milliseconds
|
||||
# example : export LDAP_CONNECT_TIMEOUT=12345
|
||||
#export LDAP_CONNECT_TIMEOUT=10000
|
||||
# LDAP_AUTHENTIFICATION : If the LDAP needs a user account to search
|
||||
# example : export LDAP_AUTHENTIFICATION=true
|
||||
#export LDAP_AUTHENTIFICATION=false
|
||||
# LDAP_AUTHENTIFICATION_USERDN : The search user DN
|
||||
# example : export LDAP_AUTHENTIFICATION_USERDN=cn=admin,dc=example,dc=org
|
||||
#export LDAP_AUTHENTIFICATION_USERDN=
|
||||
# LDAP_AUTHENTIFICATION_PASSWORD : The password for the search user
|
||||
# example : AUTHENTIFICATION_PASSWORD=admin
|
||||
#export LDAP_AUTHENTIFICATION_PASSWORD=
|
||||
# LDAP_LOG_ENABLED : Enable logs for the module
|
||||
# example : export LDAP_LOG_ENABLED=true
|
||||
#export LDAP_LOG_ENABLED=false
|
||||
# LDAP_BACKGROUND_SYNC : If the sync of the users should be done in the background
|
||||
# example : export LDAP_BACKGROUND_SYNC=true
|
||||
#export LDAP_BACKGROUND_SYNC=false
|
||||
# LDAP_BACKGROUND_SYNC_INTERVAL : At which interval does the background task sync in milliseconds
|
||||
# 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
|
||||
export LDAP_BACKGROUND_SYNC_INTERVAL=''
|
||||
# LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED :
|
||||
# example : export LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED=true
|
||||
#export LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED=false
|
||||
# LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS :
|
||||
# example : export LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS=true
|
||||
#export LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS=false
|
||||
# LDAP_ENCRYPTION : If using LDAPS
|
||||
# example : export LDAP_ENCRYPTION=ssl
|
||||
#export LDAP_ENCRYPTION=false
|
||||
# LDAP_CA_CERT : The certification for the LDAPS server. Certificate needs to be included in this docker-compose.yml file.
|
||||
# example : export LDAP_CA_CERT=-----BEGIN CERTIFICATE-----MIIE+zCCA+OgAwIBAgIkAhwR/6TVLmdRY6hHxvUFWc0+Enmu/Hu6cj+G2FIdAgIC...-----END CERTIFICATE-----
|
||||
#export LDAP_CA_CERT=
|
||||
# LDAP_REJECT_UNAUTHORIZED : Reject Unauthorized Certificate
|
||||
# example : export LDAP_REJECT_UNAUTHORIZED=true
|
||||
#export 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).
|
||||
#export LDAP_USER_AUTHENTICATION=true
|
||||
# Which field is used to find the user for the user authentication. Default: uid.
|
||||
#export LDAP_USER_AUTHENTICATION_FIELD=uid
|
||||
# LDAP_USER_SEARCH_FILTER : Optional extra LDAP filters. Don't forget the outmost enclosing parentheses if needed
|
||||
# example : export LDAP_USER_SEARCH_FILTER=
|
||||
#export LDAP_USER_SEARCH_FILTER=
|
||||
# LDAP_USER_SEARCH_SCOPE : 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 : export LDAP_USER_SEARCH_SCOPE=one
|
||||
#export LDAP_USER_SEARCH_SCOPE=
|
||||
# LDAP_USER_SEARCH_FIELD : Which field is used to find the user
|
||||
# example : export LDAP_USER_SEARCH_FIELD=uid
|
||||
#export LDAP_USER_SEARCH_FIELD=
|
||||
# LDAP_SEARCH_PAGE_SIZE : Used for pagination (0=unlimited)
|
||||
# example : export LDAP_SEARCH_PAGE_SIZE=12345
|
||||
#export LDAP_SEARCH_PAGE_SIZE=0
|
||||
# LDAP_SEARCH_SIZE_LIMIT : The limit number of entries (0=unlimited)
|
||||
# example : export LDAP_SEARCH_SIZE_LIMIT=12345
|
||||
#export LDAP_SEARCH_SIZE_LIMIT=0
|
||||
# LDAP_GROUP_FILTER_ENABLE : Enable group filtering
|
||||
# example : export LDAP_GROUP_FILTER_ENABLE=true
|
||||
#export LDAP_GROUP_FILTER_ENABLE=false
|
||||
# LDAP_GROUP_FILTER_OBJECTCLASS : The object class for filtering
|
||||
# example : export LDAP_GROUP_FILTER_OBJECTCLASS=group
|
||||
#export LDAP_GROUP_FILTER_OBJECTCLASS=
|
||||
# LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE :
|
||||
# example :
|
||||
#export LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE=
|
||||
# LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE :
|
||||
# example :
|
||||
#export LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE=
|
||||
# LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT :
|
||||
# example :
|
||||
#export LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT=
|
||||
# LDAP_GROUP_FILTER_GROUP_NAME :
|
||||
# example :
|
||||
#export LDAP_GROUP_FILTER_GROUP_NAME=
|
||||
# LDAP_UNIQUE_IDENTIFIER_FIELD : This field is sometimes class GUID (Globally Unique Identifier)
|
||||
# example : export LDAP_UNIQUE_IDENTIFIER_FIELD=guid
|
||||
#export LDAP_UNIQUE_IDENTIFIER_FIELD=
|
||||
# LDAP_UTF8_NAMES_SLUGIFY : Convert the username to utf8
|
||||
# example : export LDAP_UTF8_NAMES_SLUGIFY=false
|
||||
#export LDAP_UTF8_NAMES_SLUGIFY=true
|
||||
# LDAP_USERNAME_FIELD : Which field contains the ldap username
|
||||
# example : export LDAP_USERNAME_FIELD=username
|
||||
#export LDAP_USERNAME_FIELD=
|
||||
# LDAP_FULLNAME_FIELD : Which field contains the ldap fullname
|
||||
# example : export LDAP_FULLNAME_FIELD=fullname
|
||||
#export LDAP_FULLNAME_FIELD=
|
||||
# LDAP_MERGE_EXISTING_USERS :
|
||||
# example : export LDAP_MERGE_EXISTING_USERS=true
|
||||
#export LDAP_MERGE_EXISTING_USERS=false
|
||||
# LDAP_EMAIL_MATCH_ENABLE : allow existing account matching by e-mail address when username does not match
|
||||
# example: LDAP_EMAIL_MATCH_ENABLE=true
|
||||
#export LDAP_EMAIL_MATCH_ENABLE=false
|
||||
# LDAP_EMAIL_MATCH_REQUIRE : require existing account matching by e-mail address when username does match
|
||||
# example: LDAP_EMAIL_MATCH_REQUIRE=true
|
||||
#export LDAP_EMAIL_MATCH_REQUIRE=false
|
||||
# LDAP_EMAIL_MATCH_VERIFIED : require existing account email address to be verified for matching
|
||||
# example: LDAP_EMAIL_MATCH_VERIFIED=true
|
||||
#export LDAP_EMAIL_MATCH_VERIFIED=false
|
||||
# LDAP_EMAIL_FIELD : which field contains the LDAP e-mail address
|
||||
# example: LDAP_EMAIL_FIELD=mail
|
||||
#export LDAP_EMAIL_FIELD=
|
||||
# LDAP_SYNC_USER_DATA :
|
||||
# example : export LDAP_SYNC_USER_DATA=true
|
||||
#export LDAP_SYNC_USER_DATA=false
|
||||
# LDAP_SYNC_USER_DATA_FIELDMAP :
|
||||
# example : export LDAP_SYNC_USER_DATA_FIELDMAP={"cn":"name", "mail":"email"}
|
||||
#export LDAP_SYNC_USER_DATA_FIELDMAP=
|
||||
# LDAP_SYNC_GROUP_ROLES :
|
||||
# example :
|
||||
#export LDAP_SYNC_GROUP_ROLES=
|
||||
# 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 :
|
||||
#export LDAP_DEFAULT_DOMAIN=
|
||||
# Enable/Disable syncing of admin status based on ldap groups:
|
||||
#export LDAP_SYNC_ADMIN_STATUS=true
|
||||
# Comma separated list of admin group names.
|
||||
#export LDAP_SYNC_ADMIN_GROUPS=group1,group2
|
||||
#---------------------------------------------------------------------
|
||||
# Login to LDAP automatically with HTTP header.
|
||||
# In below example for siteminder, at right side of = is header name.
|
||||
#export HEADER_LOGIN_ID=HEADERUID
|
||||
#export HEADER_LOGIN_FIRSTNAME=HEADERFIRSTNAME
|
||||
#export HEADER_LOGIN_LASTNAME=HEADERLASTNAME
|
||||
#export HEADER_LOGIN_EMAIL=HEADEREMAILADDRESS
|
||||
#---------------------------------------------------------------------
|
||||
# LOGOUT_WITH_TIMER : Enables or not the option logout with timer
|
||||
# example : LOGOUT_WITH_TIMER=true
|
||||
#export LOGOUT_WITH_TIMER=
|
||||
# LOGOUT_IN : The number of days
|
||||
# example : LOGOUT_IN=1
|
||||
#export LOGOUT_IN=
|
||||
#export LOGOUT_ON_HOURS=
|
||||
# LOGOUT_ON_MINUTES : The number of minutes
|
||||
# example : LOGOUT_ON_MINUTES=55
|
||||
#export LOGOUT_ON_MINUTES=
|
||||
cd ~/repos/wekan/.build/bundle
|
||||
#---------------------------------------------
|
||||
# Debug OIDC OAuth2 etc.
|
||||
#export DEBUG=true
|
||||
#---------------------------------------------
|
||||
export MONGO_URL='mongodb://127.0.0.1:27017/wekan'
|
||||
#---------------------------------------------
|
||||
# Production: https://example.com/wekan
|
||||
# Local: http://localhost:2000
|
||||
#export ipaddress=$(ifdata -pa eth0)
|
||||
export ROOT_URL='http://localhost:2000'
|
||||
#---------------------------------------------
|
||||
# https://github.com/wekan/wekan/wiki/Troubleshooting-Mail
|
||||
# https://github.com/wekan/wekan-mongodb/blob/master/docker-compose.yml
|
||||
export MAIL_URL='smtp://user:pass@mailserver.example.com:25/'
|
||||
#---------------------------------------------
|
||||
#export KADIRA_OPTIONS_ENDPOINT=http://127.0.0.1:11011
|
||||
#---------------------------------------------
|
||||
# This is local port where Wekan Node.js runs, same as below on Caddyfile settings.
|
||||
export PORT=2000
|
||||
#---------------------------------------------
|
||||
# Wekan Export Board works when WITH_API=true.
|
||||
# If you disable Wekan API with false, Export Board does not work.
|
||||
export WITH_API='true'
|
||||
#---------------------------------------------------------------
|
||||
# ==== PASSWORD BRUTE FORCE PROTECTION ====
|
||||
#https://atmospherejs.com/lucasantoniassi/accounts-lockout
|
||||
#Defaults below. Uncomment to change. wekan/server/accounts-lockout.js
|
||||
#export ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURES_BEFORE=3
|
||||
#export ACCOUNTS_LOCKOUT_KNOWN_USERS_PERIOD=60
|
||||
#export ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURE_WINDOW=15
|
||||
#export ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURES_BERORE=3
|
||||
#export ACCOUNTS_LOCKOUT_UNKNOWN_USERS_LOCKOUT_PERIOD=60
|
||||
#export ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURE_WINDOW=15
|
||||
#---------------------------------------------------------------
|
||||
# ==== RICH TEXT EDITOR IN CARD COMMENTS ====
|
||||
# https://github.com/wekan/wekan/pull/2560
|
||||
export RICHER_CARD_COMMENT_EDITOR=false
|
||||
#---------------------------------------------------------------
|
||||
# ==== CARD OPENED, SEND WEBHOOK MESSAGE ====
|
||||
export CARD_OPENED_WEBHOOK_ENABLED=false
|
||||
#---------------------------------------------------------------
|
||||
# ==== Allow to shrink attached/pasted image ====
|
||||
# https://github.com/wekan/wekan/pull/2544
|
||||
#export MAX_IMAGE_PIXEL=1024
|
||||
#export IMAGE_COMPRESS_RATIO=80
|
||||
#---------------------------------------------------------------
|
||||
# ==== NOTIFICATION TRAY AFTER READ DAYS BEFORE REMOVE =====
|
||||
# Number of days after a notification is read before we remove it.
|
||||
# Default: 2
|
||||
#- NOTIFICATION_TRAY_AFTER_READ_DAYS_BEFORE_REMOVE=2
|
||||
#---------------------------------------------------------------
|
||||
# ==== 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
|
||||
#export BIGEVENTS_PATTERN=due
|
||||
# b) All
|
||||
#export BIGEVENTS_PATTERN=received|start|due|end
|
||||
# c) Disabled
|
||||
export 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.
|
||||
#export 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.
|
||||
#export NOTIFY_DUE_AT_HOUR_OF_DAY=8
|
||||
#-----------------------------------------------------------------
|
||||
# ==== EMAIL NOTIFICATION TIMEOUT, ms =====
|
||||
# Defaut: 30000 ms = 30s
|
||||
#export EMAIL_NOTIFICATION_TIMEOUT=30000
|
||||
#-----------------------------------------------------------------
|
||||
# CORS: Set Access-Control-Allow-Origin header. Example: *
|
||||
#export CORS=*
|
||||
# To enable the Set Access-Control-Allow-Headers header. "Authorization,Content-Type" is required for cross-origin use of the API.
|
||||
#export CORS_ALLOW_HEADERS=Authorization,Content-Type
|
||||
# To enable the Set Access-Control-Expose-Headers header. This is not needed for typical CORS situations. Example: *
|
||||
#export 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:
|
||||
##export MATOMO_ADDRESS=https://example.com/matomo
|
||||
#export MATOMO_ADDRESS=
|
||||
## The value of the site ID given in Matomo server for Wekan
|
||||
# Example: export MATOMO_SITE_ID=123456789
|
||||
#export MATOMO_SITE_ID=''
|
||||
## The option do not track which enables users to not be tracked by matomo"
|
||||
#Example: export MATOMO_DO_NOT_TRACK=false
|
||||
#export MATOMO_DO_NOT_TRACK=true
|
||||
## The option that allows matomo to retrieve the username:
|
||||
# Example: export MATOMO_WITH_USERNAME=true
|
||||
#export 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
|
||||
# Default value: true
|
||||
export BROWSER_POLICY_ENABLED=true
|
||||
# When browser policy is enabled, HTML code at this Trusted URL can have iframe that embeds Wekan inside.
|
||||
# Example: export TRUSTED_URL=http://example.com
|
||||
export TRUSTED_URL=''
|
||||
# What to send to Outgoing Webhook, or leave out. Example, that includes all that are default: cardId,listId,oldListId,boardId,comment,user,card,commentId .
|
||||
# Example: export WEBHOOKS_ATTRIBUTES=cardId,listId,oldListId,boardId,comment,user,card,commentId
|
||||
export WEBHOOKS_ATTRIBUTES=''
|
||||
#---------------------------------------------
|
||||
# ==== OAUTH2 AZURE ====
|
||||
# https://github.com/wekan/wekan/wiki/Azure
|
||||
# 1) Register the application with Azure. Make sure you capture
|
||||
# the application ID as well as generate a secret key.
|
||||
# 2) Configure the environment variables. This differs slightly
|
||||
# by installation type, but make sure you have the following:
|
||||
#export OAUTH2_ENABLED=true
|
||||
# Use OAuth2 ADFS additional changes. Also needs OAUTH2_ENABLED=true setting.
|
||||
#export OAUTH2_ADFS_ENABLED=false
|
||||
# OAuth2 docs: https://github.com/wekan/wekan/wiki/OAuth2
|
||||
# OAuth2 login style: popup or redirect.
|
||||
#export OAUTH2_LOGIN_STYLE=redirect
|
||||
# Application GUID captured during app registration:
|
||||
#export OAUTH2_CLIENT_ID=xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx
|
||||
# Secret key generated during app registration:
|
||||
#export OAUTH2_SECRET=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
#export OAUTH2_SERVER_URL=https://login.microsoftonline.com/
|
||||
#export OAUTH2_AUTH_ENDPOINT=/oauth2/v2.0/authorize
|
||||
#export OAUTH2_USERINFO_ENDPOINT=https://graph.microsoft.com/oidc/userinfo
|
||||
#export OAUTH2_TOKEN_ENDPOINT=/oauth2/v2.0/token
|
||||
# The claim name you want to map to the unique ID field:
|
||||
#export OAUTH2_ID_MAP=email
|
||||
# The claim name you want to map to the username field:
|
||||
#export OAUTH2_USERNAME_MAP=email
|
||||
# The claim name you want to map to the full name field:
|
||||
#export OAUTH2_FULLNAME_MAP=name
|
||||
# The claim name you want to map to the email field:
|
||||
#export OAUTH2_EMAIL_MAP=email
|
||||
#-----------------------------------------------------------------
|
||||
# ==== OAUTH2 KEYCLOAK ====
|
||||
# https://github.com/wekan/wekan/wiki/Keycloak <== MAPPING INFO, REQUIRED
|
||||
#export OAUTH2_ENABLED=true
|
||||
# OAuth2 login style: popup or redirect.
|
||||
#export OAUTH2_LOGIN_STYLE=redirect
|
||||
#export OAUTH2_CLIENT_ID=<Keycloak create Client ID>
|
||||
#export OAUTH2_SERVER_URL=<Keycloak server name>/auth
|
||||
#export OAUTH2_AUTH_ENDPOINT=/realms/<keycloak realm>/protocol/openid-connect/auth
|
||||
#export OAUTH2_USERINFO_ENDPOINT=/realms/<keycloak realm>/protocol/openid-connect/userinfo
|
||||
#export OAUTH2_TOKEN_ENDPOINT=/realms/<keycloak realm>/protocol/openid-connect/token
|
||||
#export OAUTH2_SECRET=<keycloak client secret>
|
||||
#-----------------------------------------------------------------
|
||||
# ==== OAUTH2 DOORKEEPER ====
|
||||
# OAuth2 docs: https://github.com/wekan/wekan/wiki/OAuth2
|
||||
# https://github.com/wekan/wekan/issues/1874
|
||||
# https://github.com/wekan/wekan/wiki/OAuth2
|
||||
# Enable the OAuth2 connection
|
||||
#export OAUTH2_ENABLED=true
|
||||
# OAuth2 login style: popup or redirect.
|
||||
#export OAUTH2_LOGIN_STYLE=redirect
|
||||
# OAuth2 Client ID.
|
||||
#export OAUTH2_CLIENT_ID=abcde12345
|
||||
# OAuth2 Secret.
|
||||
#export OAUTH2_SECRET=54321abcde
|
||||
# OAuth2 Server URL.
|
||||
#export OAUTH2_SERVER_URL=https://chat.example.com
|
||||
# OAuth2 Authorization Endpoint.
|
||||
#export OAUTH2_AUTH_ENDPOINT=/oauth/authorize
|
||||
# OAuth2 Userinfo Endpoint.
|
||||
#export OAUTH2_USERINFO_ENDPOINT=/oauth/userinfo
|
||||
# OAuth2 Token Endpoint.
|
||||
#export OAUTH2_TOKEN_ENDPOINT=/oauth/token
|
||||
# OAUTH2 ID Token Whitelist Fields.
|
||||
#export OAUTH2_ID_TOKEN_WHITELIST_FIELDS=[]
|
||||
# OAUTH2 Request Permissions.
|
||||
#export OAUTH2_REQUEST_PERMISSIONS='openid profile email'
|
||||
# OAuth2 ID Mapping
|
||||
#export OAUTH2_ID_MAP=
|
||||
# OAuth2 Username Mapping
|
||||
#export OAUTH2_USERNAME_MAP=
|
||||
# OAuth2 Fullname Mapping
|
||||
#export OAUTH2_FULLNAME_MAP=
|
||||
# OAuth2 Email Mapping
|
||||
#export OAUTH2_EMAIL_MAP=
|
||||
#---------------------------------------------
|
||||
# LDAP_ENABLE : Enable or not the connection by the LDAP
|
||||
# example : export LDAP_ENABLE=true
|
||||
#export LDAP_ENABLE=false
|
||||
# LDAP_PORT : The port of the LDAP server
|
||||
# example : export LDAP_PORT=389
|
||||
#export LDAP_PORT=389
|
||||
# LDAP_HOST : The host server for the LDAP server
|
||||
# example : export LDAP_HOST=localhost
|
||||
#export LDAP_HOST=
|
||||
# LDAP_BASEDN : The base DN for the LDAP Tree
|
||||
# example : export LDAP_BASEDN=ou=user,dc=example,dc=org
|
||||
#export LDAP_BASEDN=
|
||||
# LDAP_LOGIN_FALLBACK : Fallback on the default authentication method
|
||||
# example : export LDAP_LOGIN_FALLBACK=true
|
||||
#export LDAP_LOGIN_FALLBACK=false
|
||||
# LDAP_RECONNECT : Reconnect to the server if the connection is lost
|
||||
# example : export LDAP_RECONNECT=false
|
||||
#export LDAP_RECONNECT=true
|
||||
# LDAP_TIMEOUT : Overall timeout, in milliseconds
|
||||
# example : export LDAP_TIMEOUT=12345
|
||||
#export LDAP_TIMEOUT=10000
|
||||
# LDAP_IDLE_TIMEOUT : Specifies the timeout for idle LDAP connections in milliseconds
|
||||
# example : export LDAP_IDLE_TIMEOUT=12345
|
||||
#export LDAP_IDLE_TIMEOUT=10000
|
||||
# LDAP_CONNECT_TIMEOUT : Connection timeout, in milliseconds
|
||||
# example : export LDAP_CONNECT_TIMEOUT=12345
|
||||
#export LDAP_CONNECT_TIMEOUT=10000
|
||||
# LDAP_AUTHENTIFICATION : If the LDAP needs a user account to search
|
||||
# example : export LDAP_AUTHENTIFICATION=true
|
||||
#export LDAP_AUTHENTIFICATION=false
|
||||
# LDAP_AUTHENTIFICATION_USERDN : The search user DN
|
||||
# example : export LDAP_AUTHENTIFICATION_USERDN=cn=admin,dc=example,dc=org
|
||||
#----------------------------------------------------------------------------
|
||||
# The search user DN - You need quotes when you have spaces in parameters
|
||||
# 2 examples:
|
||||
#export LDAP_AUTHENTIFICATION_USERDN="CN=ldap admin,CN=users,DC=domainmatter,DC=lan"
|
||||
#export LDAP_AUTHENTIFICATION_USERDN="CN=wekan_adm,OU=serviceaccounts,OU=admin,OU=prod,DC=mydomain,DC=com"
|
||||
#---------------------------------------------------------------------------
|
||||
# LDAP_AUTHENTIFICATION_PASSWORD : The password for the search user
|
||||
# example : AUTHENTIFICATION_PASSWORD=admin
|
||||
#export LDAP_AUTHENTIFICATION_PASSWORD=
|
||||
# LDAP_LOG_ENABLED : Enable logs for the module
|
||||
# example : export LDAP_LOG_ENABLED=true
|
||||
#export LDAP_LOG_ENABLED=false
|
||||
# LDAP_BACKGROUND_SYNC : If the sync of the users should be done in the background
|
||||
# example : export LDAP_BACKGROUND_SYNC=true
|
||||
#export LDAP_BACKGROUND_SYNC=false
|
||||
# LDAP_BACKGROUND_SYNC_INTERVAL : At which interval does the background task sync in milliseconds
|
||||
# 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
|
||||
export LDAP_BACKGROUND_SYNC_INTERVAL=''
|
||||
# LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED :
|
||||
# example : export LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED=true
|
||||
#export LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED=false
|
||||
# LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS :
|
||||
# example : export LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS=true
|
||||
#export LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS=false
|
||||
# LDAP_ENCRYPTION : If using LDAPS
|
||||
# example : export LDAP_ENCRYPTION=ssl
|
||||
#export LDAP_ENCRYPTION=false
|
||||
# LDAP_CA_CERT : The certification for the LDAPS server. Certificate needs to be included in this docker-compose.yml file.
|
||||
# example : export LDAP_CA_CERT=-----BEGIN CERTIFICATE-----MIIE+zCCA+OgAwIBAgIkAhwR/6TVLmdRY6hHxvUFWc0+Enmu/Hu6cj+G2FIdAgIC...-----END CERTIFICATE-----
|
||||
#export LDAP_CA_CERT=
|
||||
# LDAP_REJECT_UNAUTHORIZED : Reject Unauthorized Certificate
|
||||
# example : export LDAP_REJECT_UNAUTHORIZED=true
|
||||
#export 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).
|
||||
#export LDAP_USER_AUTHENTICATION=true
|
||||
# Which field is used to find the user for the user authentication. Default: uid.
|
||||
#export LDAP_USER_AUTHENTICATION_FIELD=uid
|
||||
# LDAP_USER_SEARCH_FILTER : Optional extra LDAP filters. Don't forget the outmost enclosing parentheses if needed
|
||||
# example : export LDAP_USER_SEARCH_FILTER=
|
||||
#export LDAP_USER_SEARCH_FILTER=
|
||||
# LDAP_USER_SEARCH_SCOPE : 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 : export LDAP_USER_SEARCH_SCOPE=one
|
||||
#export LDAP_USER_SEARCH_SCOPE=
|
||||
# LDAP_USER_SEARCH_FIELD : Which field is used to find the user
|
||||
# example : export LDAP_USER_SEARCH_FIELD=uid
|
||||
#export LDAP_USER_SEARCH_FIELD=
|
||||
# LDAP_SEARCH_PAGE_SIZE : Used for pagination (0=unlimited)
|
||||
# example : export LDAP_SEARCH_PAGE_SIZE=12345
|
||||
#export LDAP_SEARCH_PAGE_SIZE=0
|
||||
# LDAP_SEARCH_SIZE_LIMIT : The limit number of entries (0=unlimited)
|
||||
# example : export LDAP_SEARCH_SIZE_LIMIT=12345
|
||||
#export LDAP_SEARCH_SIZE_LIMIT=0
|
||||
# LDAP_GROUP_FILTER_ENABLE : Enable group filtering
|
||||
# example : export LDAP_GROUP_FILTER_ENABLE=true
|
||||
#export LDAP_GROUP_FILTER_ENABLE=false
|
||||
# LDAP_GROUP_FILTER_OBJECTCLASS : The object class for filtering
|
||||
# example : export LDAP_GROUP_FILTER_OBJECTCLASS=group
|
||||
#export LDAP_GROUP_FILTER_OBJECTCLASS=
|
||||
# LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE :
|
||||
# example :
|
||||
#export LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE=
|
||||
# LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE :
|
||||
# example :
|
||||
#export LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE=
|
||||
# LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT :
|
||||
# example :
|
||||
#export LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT=
|
||||
# LDAP_GROUP_FILTER_GROUP_NAME :
|
||||
# example :
|
||||
#export LDAP_GROUP_FILTER_GROUP_NAME=
|
||||
# LDAP_UNIQUE_IDENTIFIER_FIELD : This field is sometimes class GUID (Globally Unique Identifier)
|
||||
# example : export LDAP_UNIQUE_IDENTIFIER_FIELD=guid
|
||||
#export LDAP_UNIQUE_IDENTIFIER_FIELD=
|
||||
# LDAP_UTF8_NAMES_SLUGIFY : Convert the username to utf8
|
||||
# example : export LDAP_UTF8_NAMES_SLUGIFY=false
|
||||
#export LDAP_UTF8_NAMES_SLUGIFY=true
|
||||
# LDAP_USERNAME_FIELD : Which field contains the ldap username
|
||||
# example : export LDAP_USERNAME_FIELD=username
|
||||
#export LDAP_USERNAME_FIELD=
|
||||
# LDAP_FULLNAME_FIELD : Which field contains the ldap fullname
|
||||
# example : export LDAP_FULLNAME_FIELD=fullname
|
||||
#export LDAP_FULLNAME_FIELD=
|
||||
# LDAP_MERGE_EXISTING_USERS :
|
||||
# example : export LDAP_MERGE_EXISTING_USERS=true
|
||||
#export LDAP_MERGE_EXISTING_USERS=false
|
||||
# LDAP_EMAIL_MATCH_ENABLE : allow existing account matching by e-mail address when username does not match
|
||||
# example: LDAP_EMAIL_MATCH_ENABLE=true
|
||||
#export LDAP_EMAIL_MATCH_ENABLE=false
|
||||
# LDAP_EMAIL_MATCH_REQUIRE : require existing account matching by e-mail address when username does match
|
||||
# example: LDAP_EMAIL_MATCH_REQUIRE=true
|
||||
#export LDAP_EMAIL_MATCH_REQUIRE=false
|
||||
# LDAP_EMAIL_MATCH_VERIFIED : require existing account email address to be verified for matching
|
||||
# example: LDAP_EMAIL_MATCH_VERIFIED=true
|
||||
#export LDAP_EMAIL_MATCH_VERIFIED=false
|
||||
# LDAP_EMAIL_FIELD : which field contains the LDAP e-mail address
|
||||
# example: LDAP_EMAIL_FIELD=mail
|
||||
#export LDAP_EMAIL_FIELD=
|
||||
# LDAP_SYNC_USER_DATA :
|
||||
# example : export LDAP_SYNC_USER_DATA=true
|
||||
#export LDAP_SYNC_USER_DATA=false
|
||||
# LDAP_SYNC_USER_DATA_FIELDMAP :
|
||||
# example : export LDAP_SYNC_USER_DATA_FIELDMAP={"cn":"name", "mail":"email"}
|
||||
#export LDAP_SYNC_USER_DATA_FIELDMAP=
|
||||
# LDAP_SYNC_GROUP_ROLES :
|
||||
# example :
|
||||
#export LDAP_SYNC_GROUP_ROLES=
|
||||
# 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 :
|
||||
#export LDAP_DEFAULT_DOMAIN=
|
||||
# Enable/Disable syncing of admin status based on ldap groups:
|
||||
#export LDAP_SYNC_ADMIN_STATUS=true
|
||||
# Comma separated list of admin group names to sync.
|
||||
#export LDAP_SYNC_ADMIN_GROUPS=group1,group2
|
||||
#---------------------------------------------------------------------
|
||||
# Login to LDAP automatically with HTTP header.
|
||||
# In below example for siteminder, at right side of = is header name.
|
||||
#export HEADER_LOGIN_ID=HEADERUID
|
||||
#export HEADER_LOGIN_FIRSTNAME=HEADERFIRSTNAME
|
||||
#export HEADER_LOGIN_LASTNAME=HEADERLASTNAME
|
||||
#export HEADER_LOGIN_EMAIL=HEADEREMAILADDRESS
|
||||
#---------------------------------------------------------------------
|
||||
# LOGOUT_WITH_TIMER : Enables or not the option logout with timer
|
||||
# example : LOGOUT_WITH_TIMER=true
|
||||
#export LOGOUT_WITH_TIMER=
|
||||
# LOGOUT_IN : The number of days
|
||||
# example : LOGOUT_IN=1
|
||||
#export LOGOUT_IN=
|
||||
#export LOGOUT_ON_HOURS=
|
||||
# LOGOUT_ON_MINUTES : The number of minutes
|
||||
# example : LOGOUT_ON_MINUTES=55
|
||||
#export LOGOUT_ON_MINUTES=
|
||||
#---------------------------------------------------------------------
|
||||
# PASSWORD_LOGIN_ENABLED : Enable or not the password login form.
|
||||
#export PASSWORD_LOGIN_ENABLED=true
|
||||
|
||||
node main.js & >> ~/repos/wekan.log
|
||||
cd ~/repos
|
||||
node main.js & >> ~/repos/wekan.log
|
||||
cd ~/repos
|
||||
#done
|
||||
@@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
|
||||
appTitle = (defaultText = "Wekan"),
|
||||
# The name of the app as it is displayed to the user.
|
||||
|
||||
appVersion = 427,
|
||||
appVersion = 431,
|
||||
# Increment this for every release.
|
||||
|
||||
appMarketingVersion = (defaultText = "4.27.0~2020-09-09"),
|
||||
appMarketingVersion = (defaultText = "4.31.0~2020-09-13"),
|
||||
# Human-readable presentation of the app version.
|
||||
|
||||
minUpgradableAppVersion = 0,
|
||||
@@ -239,9 +239,6 @@ const myCommand :Spk.Manifest.Command = (
|
||||
(key = "PATH", value = "/usr/local/bin:/usr/bin:/bin"),
|
||||
(key = "WITH_API", value = "true"),
|
||||
(key = "RICHER_CARD_COMMENT_EDITOR", value="false"),
|
||||
(key = "SCROLLINERTIA", value="0"),
|
||||
(key = "SCROLLAMOUNT", value="auto"),
|
||||
(key = "SCROLLDELTAFACTOR", value="auto"),
|
||||
(key = "CARD_OPENED_WEBHOOK_ENABLED", value="false"),
|
||||
(key = "NOTIFICATION_TRAY_AFTER_READ_DAYS_BEFORE_REMOVE", value=""),
|
||||
(key = "BIGEVENTS_PATTERN", value="NONE"),
|
||||
@@ -252,7 +249,8 @@ const myCommand :Spk.Manifest.Command = (
|
||||
(key = "BROWSER_POLICY_ENABLED", value="true"),
|
||||
(key = "TRUSTED_URL", value=""),
|
||||
(key = "WEBHOOKS_ATTRIBUTES", value=""),
|
||||
(key = "OAUTH2_ENABLED", value=""),
|
||||
(key = "OAUTH2_ENABLED", value="false"),
|
||||
(key = "OAUTH2_ADFS_ENABLED", value="false"),
|
||||
(key = "OAUTH2_CLIENT_ID", value="false"),
|
||||
(key = "OAUTH2_SECRET", value=""),
|
||||
(key = "OAUTH2_SERVER_URL", value=""),
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
Meteor.startup(() => {
|
||||
// Mouse Scroll Intertia, issue #2949. Integer.
|
||||
if (process.env.SCROLLINERTIA !== '0') {
|
||||
Meteor.settings.public.SCROLLINERTIA = process.env.SCROLLINERTIA;
|
||||
} else {
|
||||
Meteor.settings.public.SCROLLINERTIA = 0;
|
||||
}
|
||||
|
||||
// Mouse Scroll Amount, issue #2949. "auto" or Integer.
|
||||
if (process.env.SCROLLAMOUNT !== 'auto') {
|
||||
Meteor.settings.public.SCROLLAMOUNT = process.env.SCROLLAMOUNT;
|
||||
} else {
|
||||
Meteor.settings.public.SCROLLAMOUNT = 'auto';
|
||||
}
|
||||
|
||||
// Mouse Scroll DeltaFactor, issue #2949. "auto" or Integer.
|
||||
if (process.env.SCROLLDELTAFACTOR !== 'auto') {
|
||||
Meteor.settings.public.SCROLLDELTAFACTOR = process.env.SCROLLDELTAFACTOR;
|
||||
} else {
|
||||
Meteor.settings.public.SCROLLDELTAFACTOR = 'auto';
|
||||
}
|
||||
});
|
||||
+6
-14
@@ -3,7 +3,7 @@
|
||||
# All supported keys are defined here together with descriptions and default values
|
||||
|
||||
# list of supported keys
|
||||
keys="DEBUG MONGO_URL MONGODB_BIND_UNIX_SOCKET MONGO_URL MONGODB_BIND_IP MONGODB_PORT MAIL_URL MAIL_FROM ROOT_URL PORT DISABLE_MONGODB CADDY_ENABLED CADDY_BIND_PORT WITH_API RICHER_CARD_COMMENT_EDITOR CARD_OPENED_WEBHOOK_ENABLED ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURES_BEFORE ACCOUNTS_LOCKOUT_KNOWN_USERS_PERIOD ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURE_WINDOW ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURES_BERORE ACCOUNTS_LOCKOUT_UNKNOWN_USERS_LOCKOUT_PERIOD ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURE_WINDOW MAX_IMAGE_PIXEL IMAGE_COMPRESS_RATIO BIGEVENTS_PATTERN NOTIFICATION_TRAY_AFTER_READ_DAYS_BEFORE_REMOVE NOTIFY_DUE_DAYS_BEFORE_AND_AFTER NOTIFY_DUE_AT_HOUR_OF_DAY EMAIL_NOTIFICATION_TIMEOUT CORS CORS_ALLOW_HEADERS CORS_EXPOSE_HEADERS MATOMO_ADDRESS MATOMO_SITE_ID MATOMO_DO_NOT_TRACK MATOMO_WITH_USERNAME BROWSER_POLICY_ENABLED TRUSTED_URL WEBHOOKS_ATTRIBUTES OAUTH2_ENABLED OAUTH2_LOGIN_STYLE OAUTH2_CLIENT_ID OAUTH2_SECRET OAUTH2_SERVER_URL OAUTH2_AUTH_ENDPOINT OAUTH2_USERINFO_ENDPOINT OAUTH2_TOKEN_ENDPOINT OAUTH2_ID_MAP OAUTH2_USERNAME_MAP OAUTH2_FULLNAME_MAP OAUTH2_ID_TOKEN_WHITELIST_FIELDS OAUTH2_EMAIL_MAP OAUTH2_REQUEST_PERMISSIONS LDAP_ENABLE LDAP_PORT LDAP_HOST LDAP_BASEDN LDAP_LOGIN_FALLBACK LDAP_RECONNECT LDAP_TIMEOUT LDAP_IDLE_TIMEOUT LDAP_CONNECT_TIMEOUT LDAP_AUTHENTIFICATION LDAP_AUTHENTIFICATION_USERDN LDAP_AUTHENTIFICATION_PASSWORD LDAP_LOG_ENABLED LDAP_BACKGROUND_SYNC LDAP_BACKGROUND_SYNC_INTERVAL LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS LDAP_ENCRYPTION LDAP_CA_CERT LDAP_REJECT_UNAUTHORIZED LDAP_USER_AUTHENTICATION LDAP_USER_AUTHENTICATION_FIELD LDAP_USER_SEARCH_FILTER LDAP_USER_SEARCH_SCOPE LDAP_USER_SEARCH_FIELD LDAP_SEARCH_PAGE_SIZE LDAP_SEARCH_SIZE_LIMIT LDAP_GROUP_FILTER_ENABLE LDAP_GROUP_FILTER_OBJECTCLASS LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT LDAP_GROUP_FILTER_GROUP_NAME LDAP_UNIQUE_IDENTIFIER_FIELD LDAP_UTF8_NAMES_SLUGIFY LDAP_USERNAME_FIELD LDAP_FULLNAME_FIELD LDAP_MERGE_EXISTING_USERS LDAP_SYNC_USER_DATA LDAP_SYNC_USER_DATA_FIELDMAP LDAP_SYNC_GROUP_ROLES LDAP_DEFAULT_DOMAIN LDAP_EMAIL_MATCH_ENABLE LDAP_EMAIL_MATCH_REQUIRE LDAP_EMAIL_MATCH_VERIFIED LDAP_EMAIL_FIELD LDAP_SYNC_ADMIN_STATUS LDAP_SYNC_ADMIN_GROUPS HEADER_LOGIN_ID HEADER_LOGIN_FIRSTNAME HEADER_LOGIN_LASTNAME HEADER_LOGIN_EMAIL LOGOUT_WITH_TIMER LOGOUT_IN LOGOUT_ON_HOURS LOGOUT_ON_MINUTES DEFAULT_AUTHENTICATION_METHOD ATTACHMENTS_STORE_PATH SCROLLINERTIA SCROLLAMOUNT SCROLLDELTAFACTOR PASSWORD_LOGIN_ENABLED"
|
||||
keys="DEBUG MONGO_URL MONGODB_BIND_UNIX_SOCKET MONGO_URL MONGODB_BIND_IP MONGODB_PORT MAIL_URL MAIL_FROM ROOT_URL PORT DISABLE_MONGODB CADDY_ENABLED CADDY_BIND_PORT WITH_API RICHER_CARD_COMMENT_EDITOR CARD_OPENED_WEBHOOK_ENABLED ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURES_BEFORE ACCOUNTS_LOCKOUT_KNOWN_USERS_PERIOD ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURE_WINDOW ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURES_BERORE ACCOUNTS_LOCKOUT_UNKNOWN_USERS_LOCKOUT_PERIOD ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURE_WINDOW MAX_IMAGE_PIXEL IMAGE_COMPRESS_RATIO BIGEVENTS_PATTERN NOTIFICATION_TRAY_AFTER_READ_DAYS_BEFORE_REMOVE NOTIFY_DUE_DAYS_BEFORE_AND_AFTER NOTIFY_DUE_AT_HOUR_OF_DAY EMAIL_NOTIFICATION_TIMEOUT CORS CORS_ALLOW_HEADERS CORS_EXPOSE_HEADERS MATOMO_ADDRESS MATOMO_SITE_ID MATOMO_DO_NOT_TRACK MATOMO_WITH_USERNAME BROWSER_POLICY_ENABLED TRUSTED_URL WEBHOOKS_ATTRIBUTES OAUTH2_ENABLED OAUTH2_LOGIN_STYLE OAUTH2_CLIENT_ID OAUTH2_SECRET OAUTH2_SERVER_URL OAUTH2_AUTH_ENDPOINT OAUTH2_USERINFO_ENDPOINT OAUTH2_TOKEN_ENDPOINT OAUTH2_ID_MAP OAUTH2_USERNAME_MAP OAUTH2_FULLNAME_MAP OAUTH2_ID_TOKEN_WHITELIST_FIELDS OAUTH2_EMAIL_MAP OAUTH2_REQUEST_PERMISSIONS OAUTH2_ADFS_ENABLED LDAP_ENABLE LDAP_PORT LDAP_HOST LDAP_BASEDN LDAP_LOGIN_FALLBACK LDAP_RECONNECT LDAP_TIMEOUT LDAP_IDLE_TIMEOUT LDAP_CONNECT_TIMEOUT LDAP_AUTHENTIFICATION LDAP_AUTHENTIFICATION_USERDN LDAP_AUTHENTIFICATION_PASSWORD LDAP_LOG_ENABLED LDAP_BACKGROUND_SYNC LDAP_BACKGROUND_SYNC_INTERVAL LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS LDAP_ENCRYPTION LDAP_CA_CERT LDAP_REJECT_UNAUTHORIZED LDAP_USER_AUTHENTICATION LDAP_USER_AUTHENTICATION_FIELD LDAP_USER_SEARCH_FILTER LDAP_USER_SEARCH_SCOPE LDAP_USER_SEARCH_FIELD LDAP_SEARCH_PAGE_SIZE LDAP_SEARCH_SIZE_LIMIT LDAP_GROUP_FILTER_ENABLE LDAP_GROUP_FILTER_OBJECTCLASS LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT LDAP_GROUP_FILTER_GROUP_NAME LDAP_UNIQUE_IDENTIFIER_FIELD LDAP_UTF8_NAMES_SLUGIFY LDAP_USERNAME_FIELD LDAP_FULLNAME_FIELD LDAP_MERGE_EXISTING_USERS LDAP_SYNC_USER_DATA LDAP_SYNC_USER_DATA_FIELDMAP LDAP_SYNC_GROUP_ROLES LDAP_DEFAULT_DOMAIN LDAP_EMAIL_MATCH_ENABLE LDAP_EMAIL_MATCH_REQUIRE LDAP_EMAIL_MATCH_VERIFIED LDAP_EMAIL_FIELD LDAP_SYNC_ADMIN_STATUS LDAP_SYNC_ADMIN_GROUPS HEADER_LOGIN_ID HEADER_LOGIN_FIRSTNAME HEADER_LOGIN_LASTNAME HEADER_LOGIN_EMAIL LOGOUT_WITH_TIMER LOGOUT_IN LOGOUT_ON_HOURS LOGOUT_ON_MINUTES DEFAULT_AUTHENTICATION_METHOD ATTACHMENTS_STORE_PATH PASSWORD_LOGIN_ENABLED"
|
||||
|
||||
# default values
|
||||
DESCRIPTION_DEBUG="Debug OIDC OAuth2 etc. Example: sudo snap set wekan debug='true'"
|
||||
@@ -168,10 +168,14 @@ DESCRIPTION_WEBHOOKS_ATTRIBUTES="What to send to Outgoing Webhook, or leave out.
|
||||
DEFAULT_WEBHOOKS_ATTRIBUTES=""
|
||||
KEY_WEBHOOKS_ATTRIBUTES="webhooks-attributes"
|
||||
|
||||
DESCRIPTION_OAUTH2_ENABLED="Enable the OAuth2 connection"
|
||||
DESCRIPTION_OAUTH2_ENABLED="Enable the OAuth2 connection. Default: false"
|
||||
DEFAULT_OAUTH2_ENABLED="false"
|
||||
KEY_OAUTH2_ENABLED="oauth2-enabled"
|
||||
|
||||
DESCRIPTION_OAUTH2_ADFS_ENABLED="Enable OAuth2 ADFS. Default: false"
|
||||
DEFAULT_OAUTH2_ADFS_ENABLED="false"
|
||||
KEY_OAUTH2_ADFS_ENABLED="oauth2-adfs-enabled"
|
||||
|
||||
DESCRIPTION_OAUTH2_LOGIN_STYLE="OAuth2 login style: popup or redirect. Default: redirect"
|
||||
DEFAULT_OAUTH2_LOGIN_STYLE="redirect"
|
||||
KEY_OAUTH2_LOGIN_STYLE="oauth2-login-style"
|
||||
@@ -456,18 +460,6 @@ DESCRIPTION_DEFAULT_AUTHENTICATION_METHOD="The default authentication method use
|
||||
DEFAULT_DEFAULT_AUTHENTICATION_METHOD=""
|
||||
KEY_DEFAULT_AUTHENTICATION_METHOD="default-authentication-method"
|
||||
|
||||
DESCRIPTION_SCROLLINERTIA="Mousewheel scroll inertia, issue #2949. Default: 0"
|
||||
DEFAULT_SCROLLINERTIA="0"
|
||||
KEY_SCROLLINERTIA="scrollinertia"
|
||||
|
||||
DESCRIPTION_SCROLLAMOUNT="Mousewheel scroll amount, issue #2949. Default: 'auto'"
|
||||
DEFAULT_SCROLLAMOUNT="auto"
|
||||
KEY_SCROLLAMOUNT="scrollamount"
|
||||
|
||||
DESCRIPTION_SCROLLDELTAFACTOR="Mousewheel scroll deltafactor, issue #2949. Default: 'auto'"
|
||||
DEFAULT_SCROLLDELTAFACTOR="auto"
|
||||
KEY_SCROLLDELTAFACTOR="scrolldeltafactor"
|
||||
|
||||
DESCRIPTION_PASSWORD_LOGIN_ENABLED="To hide the password login form"
|
||||
DEFAULT_PASSWORD_LOGIN_ENABLED="true"
|
||||
KEY_PASSWORD_LOGIN_ENABLED="password-login-enabled"
|
||||
|
||||
+62
-54
@@ -13,12 +13,12 @@ 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 "\t$ snap unset $SNAP_NAME debug"
|
||||
echo -e "\n"
|
||||
echo -e "To enable the MONGO_URL of Wekan:"
|
||||
echo -e "\t$ snap set $SNAP_NAME mongo-url='...'"
|
||||
echo -e "\t-Disable the MONGO_URL of Wekan:"
|
||||
echo -e "\t$ snap set $SNAP_NAME mongo-url=''"
|
||||
echo -e "\t$ snap unset $SNAP_NAME mongo-url"
|
||||
echo -e "\n"
|
||||
echo -e "Make sure you have connected all interfaces, check more by calling $ snap interfaces ${SNAP_NAME}"
|
||||
echo -e "\n"
|
||||
@@ -43,78 +43,74 @@ 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 "\t$ snap unset $SNAP_NAME with-api"
|
||||
echo -e "\n"
|
||||
echo -e "Accounts lockout known users failures before, greater than 0. Default: 3"
|
||||
echo -e "\t$ snap set $SNAP_NAME accounts-lockout-known-users-failures-before='3'"
|
||||
echo -e "\t-Restore default:"
|
||||
echo -e "\t$ snap unset $SNAP_NAME accounts-lockout-known-users-failures-before"
|
||||
echo -e "\n"
|
||||
echo -e "Accounts lockout know users period, in seconds. Default: 60"
|
||||
echo -e "\t$ snap set $SNAP_NAME accounts-lockout-known-users-period='60'"
|
||||
echo -e "\t-Restore default:"
|
||||
echo -e "\t$ snap unset $SNAP_NAME accounts-lockout-known-users-period"
|
||||
echo -e "\n"
|
||||
echo -e "Accounts lockout unknown failure window, in seconds. Default: 15"
|
||||
echo -e "\t$ snap set $SNAP_NAME accounts-lockout-known-users-failure-window='15'"
|
||||
echo -e "\t-Restore default:"
|
||||
echo -e "\t$ snap unset $SNAP_NAME accounts-lockout-known-users-failure-window"
|
||||
echo -e "\n"
|
||||
echo -e "Accounts lockout unknown users failures before, greater than 0. Default: 3"
|
||||
echo -e "\t$ snap set $SNAP_NAME accounts-lockout-unknown-users-failures-before='3'"
|
||||
echo -e "\t-Restore default:"
|
||||
echo -e "\t$ snap unset $SNAP_NAME accounts-lockout-unknown-users-failures-before"
|
||||
echo -e "\n"
|
||||
echo -e "Accounts lockout unknown users lockout period, in seconds. Default: 60"
|
||||
echo -e "\t$ snap set $SNAP_NAME accounts-lockout-unknown-users-lockout-period='60'"
|
||||
echo -e "\t-Restore default:"
|
||||
echo -e "\t$ snap unset $SNAP_NAME accounts-lockout-unknown-users-lockout-period"
|
||||
echo -e "\n"
|
||||
echo -e "Accounts lockout unknown users failure window, in seconds. Default: 15"
|
||||
echo -e "\t$ snap set $SNAP_NAME accounts-lockout-unknown-users-failure-window='15'"
|
||||
echo -e "\t-Restore default:"
|
||||
echo -e "\t$ snap unset $SNAP_NAME accounts-lockout-unknown-users-failure-window"
|
||||
echo -e "\n"
|
||||
echo -e "Rich text editor in card comments. Default: false https://github.com/wekan/wekan/pull/2560"
|
||||
echo -e "Default:"
|
||||
echo -e "Enable:"
|
||||
echo -e "\t$ snap set $SNAP_NAME richer-card-comment-editor='true'"
|
||||
echo -e "Disabled:"
|
||||
echo -e "\t$ snap set $SNAP_NAME richer-card-comment-editor='false'"
|
||||
echo -e "\n"
|
||||
echo -e "Mousewheel scroll inertia. Default: 0. https://github.com/wekan/wekan/issues/2949"
|
||||
echo -e "Enable:"
|
||||
echo -e "\t$ snap set $SNAP_NAME scrollinertia='950'"
|
||||
echo -e "Disable, default:"
|
||||
echo -e "\t$ snap set $SNAP_NAME scrollinertia='0'"
|
||||
echo -e "\n"
|
||||
echo -e "Mousewheel scroll amount. Default: 'auto'. Allowed: 'auto' or Integer number. https://github.com/wekan/wekan/issues/2949"
|
||||
echo -e "Enable:"
|
||||
echo -e "\t$ snap set $SNAP_NAME scrollamount='950'"
|
||||
echo -e "Disable, default:"
|
||||
echo -e "\t$ snap set $SNAP_NAME scrollamount='auto'"
|
||||
echo -e "\n"
|
||||
echo -e "Mousewheel scroll deltafactor. Default: 'auto'. Allowed: 'auto' or Integer number. https://github.com/wekan/wekan/issues/2949"
|
||||
echo -e "Enable:"
|
||||
echo -e "\t$ snap set $SNAP_NAME scrolldeltafactor='950'"
|
||||
echo -e "Disable, default:"
|
||||
echo -e "\t$ snap set $SNAP_NAME scrolldeltafactor='auto'"
|
||||
echo -e "Disable:"
|
||||
echo -e "\t$ snap unset $SNAP_NAME richer-card-comment-editor"
|
||||
echo -e "\n"
|
||||
echo -e "Card opened, send webhook message. Default: false https://github.com/wekan/wekan/issues/2518"
|
||||
echo -e "Enable:"
|
||||
echo -e "\t$ snap set $SNAP_NAME card-opened-webhook-enabled='true'"
|
||||
echo -e "Disable, default:"
|
||||
echo -e "\t$ snap set $SNAP_NAME card-opened-webhook-enabled='false'"
|
||||
echo -e "\t$ snap unset $SNAP_NAME card-opened-webhook-enabled"
|
||||
echo -e "\n"
|
||||
echo -e "Max image pixel: Allow to shrink attached/pasted image https://github.com/wekan/wekan/pull/2544"
|
||||
echo -e "Example:"
|
||||
echo -e "\t$ snap set $SNAP_NAME max-image-pixel='1024'"
|
||||
echo -e "Disabled:"
|
||||
echo -e "\t$ snap set $SNAP_NAME max-image-pixel=''"
|
||||
echo -e "Disable:"
|
||||
echo -e "\t$ snap unset $SNAP_NAME max-image-pixel"
|
||||
echo -e "\n"
|
||||
echo -e "Image compress ratio: Allow to shrink attached/pasted image https://github.com/wekan/wekan/pull/2544"
|
||||
echo -e "Example:"
|
||||
echo -e "\t$ snap set $SNAP_NAME image-compress-ratio='80'"
|
||||
echo -e "Disabled:"
|
||||
echo -e "\t$ snap set $SNAP_NAME image-compress-ratio=''"
|
||||
echo -e "Disable:"
|
||||
echo -e "\t$ snap unset $SNAP_NAME image-compress-ratio"
|
||||
echo -e "\n"
|
||||
echo -e "Allow to set attachment upload into specified server location. Create that directory first. https://github.com/wekan/wekan/pull/2603"
|
||||
echo -e "Example:"
|
||||
echo -e "\t$ snap set $SNAP_NAME attachments-store-path='/var/snap/wekan/common/attachments'"
|
||||
echo -e "Disabled:"
|
||||
echo -e "\t$ snap set $SNAP_NAME attachments-store-path=''"
|
||||
echo -e "Disable:"
|
||||
echo -e "\t$ snap unset $SNAP_NAME attachments-store-path"
|
||||
echo -e "\n"
|
||||
echo -e "NOTIFICATION TRAY AFTER READ DAYS BEFORE REMOVE https://github.com/wekan/wekan/pull/2998"
|
||||
echo -e "Number of days after a notification is read before we remove it. Default: 2."
|
||||
echo -e "Default:"
|
||||
echo -e "\t$ snap set $SNAP_NAME notification-tray-after-read-days-before-remove='2'"
|
||||
echo -e "Example:"
|
||||
echo -e "\t$ snap set $SNAP_NAME notification-tray-after-read-days-before-remove='4'"
|
||||
echo -e "Restore default:"
|
||||
echo -e "\t$ snap unset $SNAP_NAME notification-tray-after-read-days-before-remove"
|
||||
echo -e "\n"
|
||||
echo -e "BIGEVENTS DUE ETC NOTIFICATIONS https://github.com/wekan/wekan/pull/2541"
|
||||
echo -e "Big events pattern: Notify always due etc regardless of notification settings. Default: due, All: received|start|due|end, Disabled: NONE"
|
||||
@@ -131,34 +127,34 @@ echo -e "Notify due days, number less than 15 or negative number accepted, you c
|
||||
echo -e "To enable different Notify for Due Days on 2 days before, and on the event day "
|
||||
echo -e "\t$ snap set $SNAP_NAME notify-due-days-before-and-after='2,0'"
|
||||
echo -e "\t-Disable Notifying for Due Days:"
|
||||
echo -e "\t$ snap set $SNAP_NAME notify-due-days-before-and-after=''"
|
||||
echo -e "\t$ snap unset $SNAP_NAME notify-due-days-before-and-after"
|
||||
echo -e "\n"
|
||||
echo -e "Notify due at hour of day. Default every morning at 8am. Can be 0-23."
|
||||
echo -e "If env variable has parsing error, use default. Notification sent to watchers."
|
||||
echo -e "To enable different Notify Due At Hour Of Day than default 8:"
|
||||
echo -e "\t$ snap set $SNAP_NAME notify-due-at-hour-of-day='10'"
|
||||
echo -e "\t-To set back default 8 of Notify Due at Hour of Day:"
|
||||
echo -e "\t$ snap set $SNAP_NAME notify-due-at-hour-of-day=''"
|
||||
echo -e "\t$ snap unset $SNAP_NAME notify-due-at-hour-of-day"
|
||||
echo -e "\n"
|
||||
echo -e "To enable the Email Notification Timeout of wekan in ms, default 30000 (=30s):"
|
||||
echo -e "\t$ snap set $SNAP_NAME email-notification-timeout='10000'"
|
||||
echo -e "\t-Disable the Email Notification Timeout of Wekan:"
|
||||
echo -e "\t$ snap set $SNAP_NAME email-notification-timeout='30000'"
|
||||
echo -e "\t-Restore default:"
|
||||
echo -e "\t$ snap unset $SNAP_NAME email-notification-timeout"
|
||||
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 "\t$ snap unset $SNAP_NAME cors"
|
||||
echo -e "\n"
|
||||
echo -e "To enable the Set Access-Control-Allow-Headers header. \"Authorization,Content-Type\" is required for cross-origin use of the API."
|
||||
echo -e "\t$ snap set $SNAP_NAME cors-allow-headers='Authorization,Content-Type'"
|
||||
echo -e "\t-Disable the Set Access-Control-Allow-Headers header. \"Authorization,Content-Type\" is required for cross-origin use of the API."
|
||||
echo -e "\t$ snap set $SNAP_NAME cors-allow-headers=''"
|
||||
echo -e "\t$ snap unset $SNAP_NAME cors-allow-headers"
|
||||
echo -e "\n"
|
||||
echo -e "To enable the Set Access-Control-Expose-Headers header. This is not needed for typical CORS situations. Example: *"
|
||||
echo -e "\t$ snap set $SNAP_NAME cors-expose-headers='*'"
|
||||
echo -e "\t-Disable the Set Access-Control-Expose-Headers header. This is not needed for typical CORS situations. Example: ''"
|
||||
echo -e "\t$ snap set $SNAP_NAME cors-expose-headers=''"
|
||||
echo -e "\t$ snap unset $SNAP_NAME cors-expose-headers"
|
||||
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"
|
||||
@@ -172,19 +168,31 @@ echo -e "When browser policy is enabled, HTML code at this URL can have iframe t
|
||||
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 "\t$ snap unset $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 "\t$ snap unset $SNAP_NAME webhooks-attributes"
|
||||
echo -e "\n"
|
||||
echo -e "OAuth2 Enabled."
|
||||
echo -e "To enable the OAuth2 of Wekan:"
|
||||
echo -e "\t$ snap set $SNAP_NAME oauth2-enabled='true'"
|
||||
echo -e "\t-Disable the OAuth2 of Wekan:"
|
||||
echo -e "\t$ snap unset $SNAP_NAME oauth2-enabled"
|
||||
echo -e "\n"
|
||||
echo -e "OAuth2 ADFS Enabled. Also requires oauth2-enabled='true'"
|
||||
echo -e "To enable the OAuth2 ADFS of Wekan:"
|
||||
echo -e "\t$ snap set $SNAP_NAME oauth2-adfs-enabled='true'"
|
||||
echo -e "\t-Disable the OAuth2 ADFS of Wekan:"
|
||||
echo -e "\t$ snap unset $SNAP_NAME oauth2-adfs-enabled"
|
||||
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 "\t$ snap unset $SNAP_NAME oauth2-client-id"
|
||||
echo -e "\n"
|
||||
echo -e "OAuth2 login style: popup or redirect. Default: redirect"
|
||||
echo -e "To enable the OAuth2 login style popup of Wekan:"
|
||||
@@ -196,67 +204,67 @@ 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 "\t$ snap unset $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 "\t$ snap unset $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 "\t$ snap unset $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 "\t$ snap unset $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 "\t$ snap unset $SNAP_NAME oauth2-token-endpoint"
|
||||
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 "\t$ snap unset $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 "\t$ snap unset $SNAP_NAME oauth2-request-permissions"
|
||||
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 "\t$ snap unset $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 "\t$ snap unset $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 "\t$ snap unset $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 "\t$ snap unset $SNAP_NAME oauth2-email-map"
|
||||
echo -e "\n"
|
||||
echo -e "Ldap Enable."
|
||||
echo -e "To enable the ldap of Wekan:"
|
||||
|
||||
@@ -229,11 +229,16 @@ parts:
|
||||
cp .build/bundle/.node_version.txt $SNAPCRAFT_PART_INSTALL/
|
||||
rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/wekan
|
||||
rm -f $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/meteor/rajit_bootstrap3-datepicker/lib/bootstrap-datepicker/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs
|
||||
# Delete phantomjs that is in accounts-lockout
|
||||
rm -rf $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/meteor/lucasantoniassi_accounts-lockout/node_modules/phantomjs-prebuilt
|
||||
# Delete temporary files
|
||||
rm -f $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/tar/lib/.mkdir.js.swp
|
||||
rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/node-pre-gyp/node_modules/tar/lib/.mkdir.js.swp
|
||||
rm -f $SNAPCRAFT_PART_INSTALL/lib/node_modules/node-gyp/node_modules/tar/lib/.mkdir.js.swp
|
||||
# Meteor 1.8.x additional .swp remove
|
||||
rm -f $SNAPCRAFT_PART_INSTALL/programs/server/node_modules/node-pre-gyp/node_modules/tar/lib/.mkdir.js.swp
|
||||
# Delete fibers for other archs
|
||||
rm -rf $SNAPCRAFT_PART_INSTALL/programs/server/node_modules/fibers/bin/linux-ia32*
|
||||
# ostrio tmp remove
|
||||
rm -rf $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/meteor/ostrio_files/node_modules/request-libcurl/.node_modules-garbage*
|
||||
|
||||
|
||||
+3
-6
@@ -22,12 +22,6 @@ REM # ==== RICH TEXT EDITOR IN CARD COMMENTS ====
|
||||
REM # https://github.com/wekan/wekan/pull/2560
|
||||
SET RICHER_CARD_COMMENT_EDITOR=false
|
||||
|
||||
REM # ==== MOUSE SCROLL ====
|
||||
REM # https://github.com/wekan/wekan/issues/2949
|
||||
SET SCROLLINERTIA=0
|
||||
SET SCROLLAMOUNT=auto
|
||||
SET SCROLLDELTAFACTOR=auto
|
||||
|
||||
REM # ==== CARD OPENED, SEND WEBHOOK MESSAGE ====
|
||||
SET CARD_OPENED_WEBHOOK_ENABLED=false
|
||||
|
||||
@@ -125,6 +119,9 @@ REM # OAuth2 docs: https://github.com/wekan/wekan/wiki/OAuth2
|
||||
REM # example: OAUTH2_ENABLED=true
|
||||
REM SET OAUTH2_ENABLED=false
|
||||
|
||||
REM # Use OAuth2 ADFS additional changes. Also needs OAUTH2_ENABLED=true setting.
|
||||
REM SET OAUTH2_ADFS_ENABLED=false
|
||||
|
||||
REM # OAuth2 Client ID, for example from Rocket.Chat. Example: abcde12345
|
||||
REM # example: OAUTH2_CLIENT_ID=abcde12345
|
||||
REM SET OAUTH2_CLIENT_ID=
|
||||
|
||||
+2
-6
@@ -41,12 +41,6 @@
|
||||
# https://github.com/wekan/wekan/pull/2560
|
||||
export RICHER_CARD_COMMENT_EDITOR=false
|
||||
#---------------------------------------------------------------
|
||||
# ==== MOUSE SCROLL ====
|
||||
# https://github.com/wekan/wekan/issues/2949
|
||||
export SCROLLINERTIA=0
|
||||
export SCROLLAMOUNT=auto
|
||||
export SCROLLDELTAFACTOR=auto
|
||||
#---------------------------------------------------------------
|
||||
# ==== CARD OPENED, SEND WEBHOOK MESSAGE ====
|
||||
export CARD_OPENED_WEBHOOK_ENABLED=false
|
||||
#---------------------------------------------------------------
|
||||
@@ -133,6 +127,8 @@
|
||||
# 2) Configure the environment variables. This differs slightly
|
||||
# by installation type, but make sure you have the following:
|
||||
#export OAUTH2_ENABLED=true
|
||||
# Use OAuth2 ADFS additional changes. Also needs OAUTH2_ENABLED=true setting.
|
||||
#export OAUTH2_ADFS_ENABLED=false
|
||||
# OAuth2 docs: https://github.com/wekan/wekan/wiki/OAuth2
|
||||
# OAuth2 login style: popup or redirect.
|
||||
#export OAUTH2_LOGIN_STYLE=redirect
|
||||
|
||||
@@ -230,12 +230,6 @@ services:
|
||||
# https://github.com/wekan/wekan/pull/2560
|
||||
- RICHER_CARD_COMMENT_EDITOR=false
|
||||
#---------------------------------------------------------------
|
||||
# ==== MOUSE SCROLL ====
|
||||
# https://github.com/wekan/wekan/issues/2949
|
||||
- SCROLLINERTIA=0
|
||||
- SCROLLAMOUNT=auto
|
||||
- SCROLLDELTAFACTOR=auto
|
||||
#---------------------------------------------------------------
|
||||
# ==== CARD OPENED, SEND WEBHOOK MESSAGE ====
|
||||
# https://github.com/wekan/wekan/issues/2518
|
||||
- CARD_OPENED_WEBHOOK_ENABLED=false
|
||||
@@ -321,6 +315,8 @@ services:
|
||||
# Enable the OAuth2 connection
|
||||
# example: OAUTH2_ENABLED=true
|
||||
#- OAUTH2_ENABLED=false
|
||||
# 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 Client ID, for example from Rocket.Chat. Example: abcde12345
|
||||
# example: OAUTH2_CLIENT_ID=abcde12345
|
||||
|
||||
Reference in new issue
Block a user