This repository has been archived by the owner on Apr 6, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 11
/
.env.example
406 lines (308 loc) · 10.1 KB
/
.env.example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
# Commented envs are optional
# For further config options check the READMEs.
#############
# common
#############
# postgres url (shared between republik and publikator)
DATABASE_URL=postgres://postgres@localhost:5432/republik
# Sample data for postgres. Imported when using auto setup.
#DATABASE_SAMPLE_DATA_URL=https://domain.tld/sample-data.sql
# Set maximum allowed connections per server/worker instance
#DATABASE_MAX_CONNECTIONS=5
# redis url, leave blank for default: 127.0.0.1:6379
#REDIS_URL=
# elasticsearch url, leave blank for default: localhost:9200
#ELASTIC_URL=
# url to republik-frontend
# used by
# - auth to construct token links
# - assets to proxy requests to the frontend
# - documents to construct absolute document links
# - republik for payment redirect urls
FRONTEND_BASE_URL=http://localhost:3010
# the urls of the frontends
CORS_ALLOWLIST_URL=http://localhost:3003,http://localhost:3005,http://localhost:3006,http://localhost:3010
#url to crowdfunding-admin
# used by
# - slack to send link to profiles to SLACK_CHANNEL_ADMIN
ADMIN_FRONTEND_BASE_URL=http://localhost:3003
# log requsts that take longer than the specified ms
#REQ_TIMEOUT=2000
# artificial delay processing requests
#REQ_DELAY_MS=2000
# Keep response connection alive by sending HTTP status code 102
# ("processing") every RES_KEEPALIVE_INTERVALS_SECS, repeating last
# interval until RES_KEEPALIVE_MAX_SECS reached. It then withdraws.
#
# If not set, keepalive middleware is not used
#RES_KEEPALIVE_INTERVALS_SECS=[25, 50]
# If not set, defaults to sum of intervals plus 5 seconds
#RES_KEEPALIVE_MAX_SECS=300
#############
# cluster
#############
# enable
#CLUSTER=true
# how many workers should be started
#WEB_CONCURRENCY=2
# max memory before killing and respawning server (assets only)
#WEB_MEMORY=512
#############
# payments
#############
CROWDFUNDING_NAME=LAUNCH
#############
# auth
#############
# express-session's secret
SESSION_SECRET=RANDOM
# activate basic auth on this API
# for assets: send basic auth to frontend (for /render and /frontend, leaks to phantomjscloud)
#BASIC_AUTH_USER=
#BASIC_AUTH_PASS=
# optional:
#BASIC_AUTH_REALM=
# enforce user to consent to policies when trying to authorize a session
# comma separated list of values
#ENFORCE_CONSENTS=PRIVACY
# NEVER DO THIS IN PROD
# signs in matching emails automatically
#AUTO_LOGIN_REGEX=^([a-zA-Z0-9._%+-]+)@test\.project-r\.construction$
#############
# mail
#############
# mails are plotted to stdout if set to false
SEND_MAILS=false
# Semi-colon separated regex patterns to allow emails send to.
# Use if you are well-versed with regular expressions.
# May conflict with SEND_MAILS_DOMAIN_FILTER
# Requires SEND_MAILS to be true
#SEND_MAILS_REGEX_FILTERS=^.+@republik\.ch$;^foobar@domain\.tld$
# If sending emails is enabled, catch-all emails generated and forward them to
# this email address instead.
# Tags attached for internal query and stats purposes
# see https://mandrill.zendesk.com/hc/en-us/articles/205582467-How-to-Use-Tags-in-Mandrill
SEND_MAILS_TAGS=dev,localhost
# If Regular Expression is matched on a template name, nodemailer is used to sent email
#SEND_MAILS_NODEMAILER_TEMPLATE_REGEX=^signin*
# Connection URL to e.g. SMTP account nodemailer uses.
#SEND_MAILS_NODEMAILER_CONNECTION_URL='smtps://[email protected]:[email protected]/?pool=true'
# If Regular Expression is matched on a template name, mail is schedule instead of sent
#SEND_MAILS_SCHEDULE_TEMPLATE_REGEX=^[^signin].*
# If set, subject lines will be prefixed with "[Prefix]".
SEND_MAILS_SUBJECT_PREFIX=Test
# required for mails to work, set SEND_MAILS to false for a quick start
#MANDRILL_API_KEY=
# Allows to accept and verify Mandrill Webhook calls
#MANDRILL_WEBHOOK_URL=http://localhost:5010/mail/mandrill/webhook
#MANDRILL_WEBHOOK_KEY=xxx
DEFAULT_MAIL_FROM_ADDRESS="[email protected]"
DEFAULT_MAIL_FROM_NAME="Republik"
# mailchimp
# used by
# - publikator to create campaigns and upload html
# - republik to set interests based on belongings of a user
#MAILCHIMP_URL=https://us9.api.mailchimp.com
#MAILCHIMP_API_KEY=
#############
# assets
#############
ASSETS_SERVER_BASE_URL=http://localhost:5020
# shared secret with which publikator-backend authenticates urls to assets-backend
# min 32bit
ASSETS_HMAC_KEY=RANDOM
# AWS secrets
# used by
# - republik to upload (profile) images
# - publikator to upload images on publish
AWS_REGION=eu-central-1
AWS_S3_BUCKET=
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
#############
# keyCDN
#############
# used to purge urls / tags on keyCDN
#KEYCDN_API_KEY=
#KEYCDN_ZONE_ID=
#KEYCDN_ZONE_URL=
#PURGE_PSK=
#############
# discussions
#############
# the secret to hash userIds in discussions
DISPLAY_AUTHOR_SECRET=RANDOM
# Comment reports threshold befor notification
#REPORTS_NOTIFY_THRESHOLD=2
#############
# Namespace
#############
# namespace for publikator.documents.id
GITHUB_LOGIN=
# List of alternative namespaces (deprecated)
#GITHUB_ORGS=organization-one,organization-two
################
# Notifications
################
# notifications are plotted to stdout if set to false
#SEND_NOTIFICATIONS=true
#FIREBASE_PROJECT_ID=
#FIREBASE_CLIENT_EMAIL=
#FIREBASE_DATABASE_URL=
#FIREBASE_PRIVATE_KEY=
#APN_BUNDLE_ID=
#APN_TEAM_ID=
#APN_KEY_ID=
#APN_KEY=
#############
# embeds
#############
#TWITTER_APP_KEY=
#TWITTER_APP_SECRET=
#VIMEO_APP_KEY=
#VIMEO_APP_SECRET=
#VIMEO_APP_ACCESS_TOKEN=
#YOUTUBE_APP_KEY=
#LINK_PREVIEW_USER_AGENT=
#############
# publikator
#############
# MAILCHIMP_CAMPAIGN_CONFIGS is a way to default MailChimp settings when pushed
# to MailChimp like a segment or sender address.
#
# It is expected to be Array<Object> and each Object may contain:
#
# {
# "key": "<Repo ID to a format>",
# "from_name": "Republik",
# "reply_to": "<Sender email address>",
# "list_id": "<MailChimp List ID>",
# "saved_segment_id": <MailChimp Segment ID in List ID>
# }
#
#MAILCHIMP_CAMPAIGN_CONFIGS='[{"key":"org/some-format","from_name":"Republik"}]'
# filter repos by their names
#REPOS_NAME_FILTER=newsletter-,article-
# restricts the documents endpoint to users with the following roles
# totalCount is always available
# querying a single document by path is always allowed
#DOCUMENTS_RESTRICT_TO_ROLES=member,editor
# maintenance: disable publishing
# DISABLE_PUBLISH=true
# Prefix to path for prepublished documents
PREFIX_PREPUBLICATION_PATH=vorschau
#############
# republik
#############
# analytics with apollo's engine
#APOLLO_KEY=
# formet assets url, still used to detect old portrait urls
ASSETS_BASE_URL=https://assets.republik.ch
# restricts the documents query to the specified roles.
# without it beeing specified, documents are served to everybody.
#DOCUMENTS_RESTRICT_TO_ROLES=member
# pledge and userId for cancelPledge
PARKING_PLEDGE_ID=
PARKING_USER_ID=
# mailchimp setup
MAILCHIMP_MAIN_LIST_ID=
MAILCHIMP_INTEREST_NEWSLETTER_DAILY=
MAILCHIMP_INTEREST_NEWSLETTER_WEEKLY=
MAILCHIMP_INTEREST_NEWSLETTER_FEUILLLETON=
MAILCHIMP_INTEREST_NEWSLETTER_PROJECTR=
MAILCHIMP_INTEREST_MEMBER=
MAILCHIMP_INTEREST_PLEDGE=
MAILCHIMP_INTEREST_MEMBER_BENEFACTOR=
# slack
# used to notify about new comments, certain admin actions
#SLACK_API_TOKEN=
#SLACK_CHANNEL_COMMENTS=
#SLACK_CHANNEL_GREETING=
#SLACK_CHANNEL_ADMIN=
#SLACK_CHANNEL_FINANCE=
# gsheets
# gsheets API key
#GSHEETS_API_KEY=
# Sheet IDs for gsheets powered pages
#GSHEETS_IMPORT={"someSheetId": "faqs","someSheetId": "updates","someSheetId": "events"}
#GSHEETS_EXPORT={"someSheetId": "faqs","someSheetId": "updates","someSheetId": "events"}
# shared secret for updateNewsletterSubscription (min 32bit)
#NEWSLETTER_HMAC_KEY=
#############
# payments
#############
# paypal
#PAYPAL_URL=
#PAYPAL_USER=
#PAYPAL_PWD=
#PAYPAL_SIGNATURE=
# postfinance
#PF_SHA_IN_SECRET=
#PF_SHA_OUT_SECRET=
#PF_PSPID=
#PF_SFTP_CONNECTIONS=[{ host: 'one.com', port: 2222, username: 'accountant', privateKey: '-----BEGIN OPENSSH PRIVATE KEY-----\n...\n\n-----END OPENSSH PRIVATE KEY-----\n'},{ host: 'two.com', port: 2222, username: 'accountant', privateKey: '-----BEGIN OPENSSH PRIVATE KEY-----\n...\n\n-----END OPENSSH PRIVATE KEY-----\n'}]
# stripe
STRIPE_PLATFORM=
STRIPE_CONNECTED_ACCOUNTS=
STRIPE_PLATFORM_ENDPOINT_SECRET=
STRIPE_CONNECTED_ENDPOINT_SECRET=
# get it here: https://stripe.com/docs/api#account
STRIPE_ACCOUNT_ID_PROJECT_R=
STRIPE_PUBLISHABLE_KEY_PROJECT_R=
STRIPE_SECRET_KEY_PROJECT_R=
# get it here: https://dashboard.stripe.com/test/applications/users/overview
STRIPE_ACCOUNT_ID_REPUBLIK=
STRIPE_PUBLISHABLE_KEY_REPUBLIK=
STRIPE_SECRET_KEY_REPUBLIK=
#############
# twilio
#############
#TWILIO_API_ACCOUNT_SID=
#TWILIO_API_AUTH_TOKEN=
#TWILIO_DEFAULT_SENDER_NUMBER=
#############
# search
#############
# Listener processing changes in Postgres tables and posting to ElasticSearch
SEARCH_PG_LISTENER=true
# Suppress Document.estimatedReadingMinutes
#SUPPRESS_READING_MINUTES='{"series":["A Series Title"],"format":["repo/id"]}'
# Suppress downloading and measuring audio files while indexing a document
#SUPPRESS_AUDIO_DURATION_MEASURE=true
#############
# dev
#############
# IP used by docker-compose-test-net.yml to use as
# the resolving address for *.republik.test
#LOCAL_IP=192.168.1.88
# enable schedulers:
#PUBLICATION_SCHEDULER=true
#ACCESS_SCHEDULER=true
#MEMBERSHIP_SCHEDULER=true
#DATABROOM_SCHEDULER=true
# Limit memberships each scheduler run investigates
#MEMBERSHIP_SCHEDULER_USER_LIMIT=100
# Change concurrency on users handeled at same time.
# Defaults to 10.
#MEMBERSHIP_SCHEDULER_CONCURRENCY=10
# Disable User related cache
#DISABLE_RESOLVER_USER_CACHE=true
# Include @orbiting/backend-modules-mail/express/render
MAIL_EXPRESS_RENDER=true
# Include @orbiting/backend-modules-mail/express/mailchimp
MAIL_EXPRESS_MAILCHIMP=true
MAIL_EXPRESS_MAILCHIMP_SECRET=some-secret
# Matomo default settings
MATOMO_URL_BASE=https://piwik.project-r.construction/
MATOMO_API_TOKEN_AUTH=
MATOMO_SITE_ID=5
# Claim Card Campaign
CLAIM_CARD_CAMPAIGN=
# Slack, "Feed" Channel
SLACK_CHANNEL_FEED=
# Slack, "AutoPay" Channel
SLACK_CHANNEL_AUTOPAY=
# Roles a user can claim itself
SELF_CLAIMABLE_ROLES=accomplice,tester
DRY_RUN_SEND_PAYMENT_REMINDERS=true