-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
643 lines (643 loc) · 31.7 KB
/
docker-compose.yml
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
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
version: '3.8'
x-app-env:
environment:
- 'NGINX_PORT=${NGINX_PORT:-80}'
- 'WEB_URL=${WEB_URL:-http://localhost}'
- 'DEBUG=${DEBUG:-0}'
- 'DJANGO_SETTINGS_MODULE=${DJANGO_SETTINGS_MODULE:-plane.settings.production}'
- 'NEXT_PUBLIC_DEPLOY_URL=${NEXT_PUBLIC_DEPLOY_URL:-http://localhost/spaces}'
- 'SENTRY_DSN=${SENTRY_DSN:-""}'
- 'SENTRY_ENVIRONMENT=${SENTRY_ENVIRONMENT:-"production"}'
- 'GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID:-""}'
- 'GITHUB_CLIENT_ID=${GITHUB_CLIENT_ID:-""}'
- 'GITHUB_CLIENT_SECRET=${GITHUB_CLIENT_SECRET:-""}'
- 'DOCKERIZED=${DOCKERIZED:-1}'
- 'CORS_ALLOWED_ORIGINS=${CORS_ALLOWED_ORIGINS:-""}'
- 'GUNICORN_WORKERS=${GUNICORN_WORKERS:-2}'
- 'PGHOST=${PGHOST:-plane-db}'
- 'PGDATABASE=${PGDATABASE:-plane}'
- 'POSTGRES_USER=${POSTGRES_USER:-plane}'
- 'POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-plane}'
- 'POSTGRES_DB=${POSTGRES_DB:-plane}'
- 'PGDATA=${PGDATA:-/var/lib/postgresql/data}'
- 'DATABASE_URL=${DATABASE_URL:-postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${PGHOST}/${PGDATABASE}}'
- 'REDIS_HOST=${REDIS_HOST:-plane-redis}'
- 'REDIS_PORT=${REDIS_PORT:-6379}'
- 'REDIS_URL=${REDIS_URL:-redis://${REDIS_HOST}:6379/}'
- 'EMAIL_HOST=${EMAIL_HOST:-""}'
- 'EMAIL_HOST_USER=${EMAIL_HOST_USER:-""}'
- 'EMAIL_HOST_PASSWORD=${EMAIL_HOST_PASSWORD:-""}'
- 'EMAIL_PORT=${EMAIL_PORT:-587}'
- 'EMAIL_FROM=${EMAIL_FROM:-"Team Plane <[email protected]>"}'
- 'EMAIL_USE_TLS=${EMAIL_USE_TLS:-1}'
- 'EMAIL_USE_SSL=${EMAIL_USE_SSL:-0}'
- 'DEFAULT_EMAIL=${DEFAULT_EMAIL:[email protected]}'
- 'DEFAULT_PASSWORD=${DEFAULT_PASSWORD:-password123}'
- 'OPENAI_API_BASE=${OPENAI_API_BASE:-https://api.openai.com/v1}'
- 'OPENAI_API_KEY=${OPENAI_API_KEY:-""}'
- 'GPT_ENGINE=${GPT_ENGINE:-"gpt-3.5-turbo"}'
- 'ENABLE_SIGNUP=${ENABLE_SIGNUP:-1}'
- 'ENABLE_EMAIL_PASSWORD=${ENABLE_EMAIL_PASSWORD:-1}'
- 'ENABLE_MAGIC_LINK_LOGIN=${ENABLE_MAGIC_LINK_LOGIN:-0}'
- 'SECRET_KEY=${SECRET_KEY:-60gp0byfz2dvffa45cxl20p1scy9xbpf6d8c5y0geejgkyp1b5}'
- 'USE_MINIO=${USE_MINIO:-1}'
- 'AWS_REGION=${AWS_REGION:-""}'
- 'AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:-"access-key"}'
- 'AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:-"secret-key"}'
- 'AWS_S3_ENDPOINT_URL=${AWS_S3_ENDPOINT_URL:-http://plane-minio:9000}'
- 'AWS_S3_BUCKET_NAME=${AWS_S3_BUCKET_NAME:-uploads}'
- 'MINIO_ROOT_USER=${MINIO_ROOT_USER:-"access-key"}'
- 'MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD:-"secret-key"}'
- 'BUCKET_NAME=${BUCKET_NAME:-uploads}'
- 'FILE_SIZE_LIMIT=${FILE_SIZE_LIMIT:-5242880}'
services:
web:
environment:
- 'NGINX_PORT=${NGINX_PORT:-80}'
- 'WEB_URL=${WEB_URL:-http://localhost}'
- 'DEBUG=${DEBUG:-0}'
- 'DJANGO_SETTINGS_MODULE=${DJANGO_SETTINGS_MODULE:-plane.settings.production}'
- 'NEXT_PUBLIC_DEPLOY_URL=${NEXT_PUBLIC_DEPLOY_URL:-http://localhost/spaces}'
- 'SENTRY_DSN=${SENTRY_DSN:-""}'
- 'SENTRY_ENVIRONMENT=${SENTRY_ENVIRONMENT:-"production"}'
- 'GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID:-""}'
- 'GITHUB_CLIENT_ID=${GITHUB_CLIENT_ID:-""}'
- 'GITHUB_CLIENT_SECRET=${GITHUB_CLIENT_SECRET:-""}'
- 'DOCKERIZED=${DOCKERIZED:-1}'
- 'CORS_ALLOWED_ORIGINS=${CORS_ALLOWED_ORIGINS:-""}'
- 'GUNICORN_WORKERS=${GUNICORN_WORKERS:-2}'
- 'PGHOST=${PGHOST:-plane-db}'
- 'PGDATABASE=${PGDATABASE:-plane}'
- 'POSTGRES_USER=${POSTGRES_USER:-plane}'
- 'POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-plane}'
- 'POSTGRES_DB=${POSTGRES_DB:-plane}'
- 'PGDATA=${PGDATA:-/var/lib/postgresql/data}'
- 'DATABASE_URL=${DATABASE_URL:-postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${PGHOST}/${PGDATABASE}}'
- 'REDIS_HOST=${REDIS_HOST:-plane-redis}'
- 'REDIS_PORT=${REDIS_PORT:-6379}'
- 'REDIS_URL=${REDIS_URL:-redis://${REDIS_HOST}:6379/}'
- 'EMAIL_HOST=${EMAIL_HOST:-""}'
- 'EMAIL_HOST_USER=${EMAIL_HOST_USER:-""}'
- 'EMAIL_HOST_PASSWORD=${EMAIL_HOST_PASSWORD:-""}'
- 'EMAIL_PORT=${EMAIL_PORT:-587}'
- 'EMAIL_FROM=${EMAIL_FROM:-"Team Plane <[email protected]>"}'
- 'EMAIL_USE_TLS=${EMAIL_USE_TLS:-1}'
- 'EMAIL_USE_SSL=${EMAIL_USE_SSL:-0}'
- 'DEFAULT_EMAIL=${DEFAULT_EMAIL:[email protected]}'
- 'DEFAULT_PASSWORD=${DEFAULT_PASSWORD:-password123}'
- 'OPENAI_API_BASE=${OPENAI_API_BASE:-https://api.openai.com/v1}'
- 'OPENAI_API_KEY=${OPENAI_API_KEY:-""}'
- 'GPT_ENGINE=${GPT_ENGINE:-"gpt-3.5-turbo"}'
- 'ENABLE_SIGNUP=${ENABLE_SIGNUP:-1}'
- 'ENABLE_EMAIL_PASSWORD=${ENABLE_EMAIL_PASSWORD:-1}'
- 'ENABLE_MAGIC_LINK_LOGIN=${ENABLE_MAGIC_LINK_LOGIN:-0}'
- 'SECRET_KEY=${SECRET_KEY:-60gp0byfz2dvffa45cxl20p1scy9xbpf6d8c5y0geejgkyp1b5}'
- 'USE_MINIO=${USE_MINIO:-1}'
- 'AWS_REGION=${AWS_REGION:-""}'
- 'AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:-"access-key"}'
- 'AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:-"secret-key"}'
- 'AWS_S3_ENDPOINT_URL=${AWS_S3_ENDPOINT_URL:-http://plane-minio:9000}'
- 'AWS_S3_BUCKET_NAME=${AWS_S3_BUCKET_NAME:-uploads}'
- 'MINIO_ROOT_USER=${MINIO_ROOT_USER:-"access-key"}'
- 'MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD:-"secret-key"}'
- 'BUCKET_NAME=${BUCKET_NAME:-uploads}'
- 'FILE_SIZE_LIMIT=${FILE_SIZE_LIMIT:-5242880}'
image: '${DOCKERHUB_USER:-makeplane}/plane-frontend:${APP_RELEASE:-latest}'
pull_policy: '${PULL_POLICY:-always}'
restart: unless-stopped
command: '/usr/local/bin/start.sh web/server.js web'
deploy:
replicas: '${WEB_REPLICAS:-1}'
depends_on:
- api
- worker
space:
environment:
- 'NGINX_PORT=${NGINX_PORT:-80}'
- 'WEB_URL=${WEB_URL:-http://localhost}'
- 'DEBUG=${DEBUG:-0}'
- 'DJANGO_SETTINGS_MODULE=${DJANGO_SETTINGS_MODULE:-plane.settings.production}'
- 'NEXT_PUBLIC_DEPLOY_URL=${NEXT_PUBLIC_DEPLOY_URL:-http://localhost/spaces}'
- 'SENTRY_DSN=${SENTRY_DSN:-""}'
- 'SENTRY_ENVIRONMENT=${SENTRY_ENVIRONMENT:-"production"}'
- 'GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID:-""}'
- 'GITHUB_CLIENT_ID=${GITHUB_CLIENT_ID:-""}'
- 'GITHUB_CLIENT_SECRET=${GITHUB_CLIENT_SECRET:-""}'
- 'DOCKERIZED=${DOCKERIZED:-1}'
- 'CORS_ALLOWED_ORIGINS=${CORS_ALLOWED_ORIGINS:-""}'
- 'GUNICORN_WORKERS=${GUNICORN_WORKERS:-2}'
- 'PGHOST=${PGHOST:-plane-db}'
- 'PGDATABASE=${PGDATABASE:-plane}'
- 'POSTGRES_USER=${POSTGRES_USER:-plane}'
- 'POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-plane}'
- 'POSTGRES_DB=${POSTGRES_DB:-plane}'
- 'PGDATA=${PGDATA:-/var/lib/postgresql/data}'
- 'DATABASE_URL=${DATABASE_URL:-postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${PGHOST}/${PGDATABASE}}'
- 'REDIS_HOST=${REDIS_HOST:-plane-redis}'
- 'REDIS_PORT=${REDIS_PORT:-6379}'
- 'REDIS_URL=${REDIS_URL:-redis://${REDIS_HOST}:6379/}'
- 'EMAIL_HOST=${EMAIL_HOST:-""}'
- 'EMAIL_HOST_USER=${EMAIL_HOST_USER:-""}'
- 'EMAIL_HOST_PASSWORD=${EMAIL_HOST_PASSWORD:-""}'
- 'EMAIL_PORT=${EMAIL_PORT:-587}'
- 'EMAIL_FROM=${EMAIL_FROM:-"Team Plane <[email protected]>"}'
- 'EMAIL_USE_TLS=${EMAIL_USE_TLS:-1}'
- 'EMAIL_USE_SSL=${EMAIL_USE_SSL:-0}'
- 'DEFAULT_EMAIL=${DEFAULT_EMAIL:[email protected]}'
- 'DEFAULT_PASSWORD=${DEFAULT_PASSWORD:-password123}'
- 'OPENAI_API_BASE=${OPENAI_API_BASE:-https://api.openai.com/v1}'
- 'OPENAI_API_KEY=${OPENAI_API_KEY:-""}'
- 'GPT_ENGINE=${GPT_ENGINE:-"gpt-3.5-turbo"}'
- 'ENABLE_SIGNUP=${ENABLE_SIGNUP:-1}'
- 'ENABLE_EMAIL_PASSWORD=${ENABLE_EMAIL_PASSWORD:-1}'
- 'ENABLE_MAGIC_LINK_LOGIN=${ENABLE_MAGIC_LINK_LOGIN:-0}'
- 'SECRET_KEY=${SECRET_KEY:-60gp0byfz2dvffa45cxl20p1scy9xbpf6d8c5y0geejgkyp1b5}'
- 'USE_MINIO=${USE_MINIO:-1}'
- 'AWS_REGION=${AWS_REGION:-""}'
- 'AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:-"access-key"}'
- 'AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:-"secret-key"}'
- 'AWS_S3_ENDPOINT_URL=${AWS_S3_ENDPOINT_URL:-http://plane-minio:9000}'
- 'AWS_S3_BUCKET_NAME=${AWS_S3_BUCKET_NAME:-uploads}'
- 'MINIO_ROOT_USER=${MINIO_ROOT_USER:-"access-key"}'
- 'MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD:-"secret-key"}'
- 'BUCKET_NAME=${BUCKET_NAME:-uploads}'
- 'FILE_SIZE_LIMIT=${FILE_SIZE_LIMIT:-5242880}'
image: '${DOCKERHUB_USER:-makeplane}/plane-space:${APP_RELEASE:-latest}'
pull_policy: '${PULL_POLICY:-always}'
restart: unless-stopped
command: '/usr/local/bin/start.sh space/server.js space'
deploy:
replicas: '${SPACE_REPLICAS:-1}'
depends_on:
- api
- worker
- web
api:
environment:
- 'NGINX_PORT=${NGINX_PORT:-80}'
- 'WEB_URL=${WEB_URL:-http://localhost}'
- 'DEBUG=${DEBUG:-0}'
- 'DJANGO_SETTINGS_MODULE=${DJANGO_SETTINGS_MODULE:-plane.settings.production}'
- 'NEXT_PUBLIC_DEPLOY_URL=${NEXT_PUBLIC_DEPLOY_URL:-http://localhost/spaces}'
- 'SENTRY_DSN=${SENTRY_DSN:-""}'
- 'SENTRY_ENVIRONMENT=${SENTRY_ENVIRONMENT:-"production"}'
- 'GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID:-""}'
- 'GITHUB_CLIENT_ID=${GITHUB_CLIENT_ID:-""}'
- 'GITHUB_CLIENT_SECRET=${GITHUB_CLIENT_SECRET:-""}'
- 'DOCKERIZED=${DOCKERIZED:-1}'
- 'CORS_ALLOWED_ORIGINS=${CORS_ALLOWED_ORIGINS:-""}'
- 'GUNICORN_WORKERS=${GUNICORN_WORKERS:-2}'
- 'PGHOST=${PGHOST:-plane-db}'
- 'PGDATABASE=${PGDATABASE:-plane}'
- 'POSTGRES_USER=${POSTGRES_USER:-plane}'
- 'POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-plane}'
- 'POSTGRES_DB=${POSTGRES_DB:-plane}'
- 'PGDATA=${PGDATA:-/var/lib/postgresql/data}'
- 'DATABASE_URL=${DATABASE_URL:-postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${PGHOST}/${PGDATABASE}}'
- 'REDIS_HOST=${REDIS_HOST:-plane-redis}'
- 'REDIS_PORT=${REDIS_PORT:-6379}'
- 'REDIS_URL=${REDIS_URL:-redis://${REDIS_HOST}:6379/}'
- 'EMAIL_HOST=${EMAIL_HOST:-""}'
- 'EMAIL_HOST_USER=${EMAIL_HOST_USER:-""}'
- 'EMAIL_HOST_PASSWORD=${EMAIL_HOST_PASSWORD:-""}'
- 'EMAIL_PORT=${EMAIL_PORT:-587}'
- 'EMAIL_FROM=${EMAIL_FROM:-"Team Plane <[email protected]>"}'
- 'EMAIL_USE_TLS=${EMAIL_USE_TLS:-1}'
- 'EMAIL_USE_SSL=${EMAIL_USE_SSL:-0}'
- 'DEFAULT_EMAIL=${DEFAULT_EMAIL:[email protected]}'
- 'DEFAULT_PASSWORD=${DEFAULT_PASSWORD:-password123}'
- 'OPENAI_API_BASE=${OPENAI_API_BASE:-https://api.openai.com/v1}'
- 'OPENAI_API_KEY=${OPENAI_API_KEY:-""}'
- 'GPT_ENGINE=${GPT_ENGINE:-"gpt-3.5-turbo"}'
- 'ENABLE_SIGNUP=${ENABLE_SIGNUP:-1}'
- 'ENABLE_EMAIL_PASSWORD=${ENABLE_EMAIL_PASSWORD:-1}'
- 'ENABLE_MAGIC_LINK_LOGIN=${ENABLE_MAGIC_LINK_LOGIN:-0}'
- 'SECRET_KEY=${SECRET_KEY:-60gp0byfz2dvffa45cxl20p1scy9xbpf6d8c5y0geejgkyp1b5}'
- 'USE_MINIO=${USE_MINIO:-1}'
- 'AWS_REGION=${AWS_REGION:-""}'
- 'AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:-"access-key"}'
- 'AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:-"secret-key"}'
- 'AWS_S3_ENDPOINT_URL=${AWS_S3_ENDPOINT_URL:-http://plane-minio:9000}'
- 'AWS_S3_BUCKET_NAME=${AWS_S3_BUCKET_NAME:-uploads}'
- 'MINIO_ROOT_USER=${MINIO_ROOT_USER:-"access-key"}'
- 'MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD:-"secret-key"}'
- 'BUCKET_NAME=${BUCKET_NAME:-uploads}'
- 'FILE_SIZE_LIMIT=${FILE_SIZE_LIMIT:-5242880}'
image: '${DOCKERHUB_USER:-makeplane}/plane-backend:${APP_RELEASE:-latest}'
pull_policy: '${PULL_POLICY:-always}'
restart: unless-stopped
command: ./bin/takeoff
deploy:
replicas: '${API_REPLICAS:-1}'
depends_on:
- plane-db
- plane-redis
worker:
environment:
- 'NGINX_PORT=${NGINX_PORT:-80}'
- 'WEB_URL=${WEB_URL:-http://localhost}'
- 'DEBUG=${DEBUG:-0}'
- 'DJANGO_SETTINGS_MODULE=${DJANGO_SETTINGS_MODULE:-plane.settings.production}'
- 'NEXT_PUBLIC_DEPLOY_URL=${NEXT_PUBLIC_DEPLOY_URL:-http://localhost/spaces}'
- 'SENTRY_DSN=${SENTRY_DSN:-""}'
- 'SENTRY_ENVIRONMENT=${SENTRY_ENVIRONMENT:-"production"}'
- 'GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID:-""}'
- 'GITHUB_CLIENT_ID=${GITHUB_CLIENT_ID:-""}'
- 'GITHUB_CLIENT_SECRET=${GITHUB_CLIENT_SECRET:-""}'
- 'DOCKERIZED=${DOCKERIZED:-1}'
- 'CORS_ALLOWED_ORIGINS=${CORS_ALLOWED_ORIGINS:-""}'
- 'GUNICORN_WORKERS=${GUNICORN_WORKERS:-2}'
- 'PGHOST=${PGHOST:-plane-db}'
- 'PGDATABASE=${PGDATABASE:-plane}'
- 'POSTGRES_USER=${POSTGRES_USER:-plane}'
- 'POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-plane}'
- 'POSTGRES_DB=${POSTGRES_DB:-plane}'
- 'PGDATA=${PGDATA:-/var/lib/postgresql/data}'
- 'DATABASE_URL=${DATABASE_URL:-postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${PGHOST}/${PGDATABASE}}'
- 'REDIS_HOST=${REDIS_HOST:-plane-redis}'
- 'REDIS_PORT=${REDIS_PORT:-6379}'
- 'REDIS_URL=${REDIS_URL:-redis://${REDIS_HOST}:6379/}'
- 'EMAIL_HOST=${EMAIL_HOST:-""}'
- 'EMAIL_HOST_USER=${EMAIL_HOST_USER:-""}'
- 'EMAIL_HOST_PASSWORD=${EMAIL_HOST_PASSWORD:-""}'
- 'EMAIL_PORT=${EMAIL_PORT:-587}'
- 'EMAIL_FROM=${EMAIL_FROM:-"Team Plane <[email protected]>"}'
- 'EMAIL_USE_TLS=${EMAIL_USE_TLS:-1}'
- 'EMAIL_USE_SSL=${EMAIL_USE_SSL:-0}'
- 'DEFAULT_EMAIL=${DEFAULT_EMAIL:[email protected]}'
- 'DEFAULT_PASSWORD=${DEFAULT_PASSWORD:-password123}'
- 'OPENAI_API_BASE=${OPENAI_API_BASE:-https://api.openai.com/v1}'
- 'OPENAI_API_KEY=${OPENAI_API_KEY:-""}'
- 'GPT_ENGINE=${GPT_ENGINE:-"gpt-3.5-turbo"}'
- 'ENABLE_SIGNUP=${ENABLE_SIGNUP:-1}'
- 'ENABLE_EMAIL_PASSWORD=${ENABLE_EMAIL_PASSWORD:-1}'
- 'ENABLE_MAGIC_LINK_LOGIN=${ENABLE_MAGIC_LINK_LOGIN:-0}'
- 'SECRET_KEY=${SECRET_KEY:-60gp0byfz2dvffa45cxl20p1scy9xbpf6d8c5y0geejgkyp1b5}'
- 'USE_MINIO=${USE_MINIO:-1}'
- 'AWS_REGION=${AWS_REGION:-""}'
- 'AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:-"access-key"}'
- 'AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:-"secret-key"}'
- 'AWS_S3_ENDPOINT_URL=${AWS_S3_ENDPOINT_URL:-http://plane-minio:9000}'
- 'AWS_S3_BUCKET_NAME=${AWS_S3_BUCKET_NAME:-uploads}'
- 'MINIO_ROOT_USER=${MINIO_ROOT_USER:-"access-key"}'
- 'MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD:-"secret-key"}'
- 'BUCKET_NAME=${BUCKET_NAME:-uploads}'
- 'FILE_SIZE_LIMIT=${FILE_SIZE_LIMIT:-5242880}'
image: '${DOCKERHUB_USER:-makeplane}/plane-backend:${APP_RELEASE:-latest}'
pull_policy: '${PULL_POLICY:-always}'
restart: unless-stopped
command: ./bin/worker
depends_on:
- api
- plane-db
- plane-redis
beat-worker:
environment:
- 'NGINX_PORT=${NGINX_PORT:-80}'
- 'WEB_URL=${WEB_URL:-http://localhost}'
- 'DEBUG=${DEBUG:-0}'
- 'DJANGO_SETTINGS_MODULE=${DJANGO_SETTINGS_MODULE:-plane.settings.production}'
- 'NEXT_PUBLIC_DEPLOY_URL=${NEXT_PUBLIC_DEPLOY_URL:-http://localhost/spaces}'
- 'SENTRY_DSN=${SENTRY_DSN:-""}'
- 'SENTRY_ENVIRONMENT=${SENTRY_ENVIRONMENT:-"production"}'
- 'GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID:-""}'
- 'GITHUB_CLIENT_ID=${GITHUB_CLIENT_ID:-""}'
- 'GITHUB_CLIENT_SECRET=${GITHUB_CLIENT_SECRET:-""}'
- 'DOCKERIZED=${DOCKERIZED:-1}'
- 'CORS_ALLOWED_ORIGINS=${CORS_ALLOWED_ORIGINS:-""}'
- 'GUNICORN_WORKERS=${GUNICORN_WORKERS:-2}'
- 'PGHOST=${PGHOST:-plane-db}'
- 'PGDATABASE=${PGDATABASE:-plane}'
- 'POSTGRES_USER=${POSTGRES_USER:-plane}'
- 'POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-plane}'
- 'POSTGRES_DB=${POSTGRES_DB:-plane}'
- 'PGDATA=${PGDATA:-/var/lib/postgresql/data}'
- 'DATABASE_URL=${DATABASE_URL:-postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${PGHOST}/${PGDATABASE}}'
- 'REDIS_HOST=${REDIS_HOST:-plane-redis}'
- 'REDIS_PORT=${REDIS_PORT:-6379}'
- 'REDIS_URL=${REDIS_URL:-redis://${REDIS_HOST}:6379/}'
- 'EMAIL_HOST=${EMAIL_HOST:-""}'
- 'EMAIL_HOST_USER=${EMAIL_HOST_USER:-""}'
- 'EMAIL_HOST_PASSWORD=${EMAIL_HOST_PASSWORD:-""}'
- 'EMAIL_PORT=${EMAIL_PORT:-587}'
- 'EMAIL_FROM=${EMAIL_FROM:-"Team Plane <[email protected]>"}'
- 'EMAIL_USE_TLS=${EMAIL_USE_TLS:-1}'
- 'EMAIL_USE_SSL=${EMAIL_USE_SSL:-0}'
- 'DEFAULT_EMAIL=${DEFAULT_EMAIL:[email protected]}'
- 'DEFAULT_PASSWORD=${DEFAULT_PASSWORD:-password123}'
- 'OPENAI_API_BASE=${OPENAI_API_BASE:-https://api.openai.com/v1}'
- 'OPENAI_API_KEY=${OPENAI_API_KEY:-""}'
- 'GPT_ENGINE=${GPT_ENGINE:-"gpt-3.5-turbo"}'
- 'ENABLE_SIGNUP=${ENABLE_SIGNUP:-1}'
- 'ENABLE_EMAIL_PASSWORD=${ENABLE_EMAIL_PASSWORD:-1}'
- 'ENABLE_MAGIC_LINK_LOGIN=${ENABLE_MAGIC_LINK_LOGIN:-0}'
- 'SECRET_KEY=${SECRET_KEY:-60gp0byfz2dvffa45cxl20p1scy9xbpf6d8c5y0geejgkyp1b5}'
- 'USE_MINIO=${USE_MINIO:-1}'
- 'AWS_REGION=${AWS_REGION:-""}'
- 'AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:-"access-key"}'
- 'AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:-"secret-key"}'
- 'AWS_S3_ENDPOINT_URL=${AWS_S3_ENDPOINT_URL:-http://plane-minio:9000}'
- 'AWS_S3_BUCKET_NAME=${AWS_S3_BUCKET_NAME:-uploads}'
- 'MINIO_ROOT_USER=${MINIO_ROOT_USER:-"access-key"}'
- 'MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD:-"secret-key"}'
- 'BUCKET_NAME=${BUCKET_NAME:-uploads}'
- 'FILE_SIZE_LIMIT=${FILE_SIZE_LIMIT:-5242880}'
image: '${DOCKERHUB_USER:-makeplane}/plane-backend:${APP_RELEASE:-latest}'
pull_policy: '${PULL_POLICY:-always}'
restart: unless-stopped
command: ./bin/beat
depends_on:
- api
- plane-db
- plane-redis
migrator:
environment:
- 'NGINX_PORT=${NGINX_PORT:-80}'
- 'WEB_URL=${WEB_URL:-http://localhost}'
- 'DEBUG=${DEBUG:-0}'
- 'DJANGO_SETTINGS_MODULE=${DJANGO_SETTINGS_MODULE:-plane.settings.production}'
- 'NEXT_PUBLIC_DEPLOY_URL=${NEXT_PUBLIC_DEPLOY_URL:-http://localhost/spaces}'
- 'SENTRY_DSN=${SENTRY_DSN:-""}'
- 'SENTRY_ENVIRONMENT=${SENTRY_ENVIRONMENT:-"production"}'
- 'GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID:-""}'
- 'GITHUB_CLIENT_ID=${GITHUB_CLIENT_ID:-""}'
- 'GITHUB_CLIENT_SECRET=${GITHUB_CLIENT_SECRET:-""}'
- 'DOCKERIZED=${DOCKERIZED:-1}'
- 'CORS_ALLOWED_ORIGINS=${CORS_ALLOWED_ORIGINS:-""}'
- 'GUNICORN_WORKERS=${GUNICORN_WORKERS:-2}'
- 'PGHOST=${PGHOST:-plane-db}'
- 'PGDATABASE=${PGDATABASE:-plane}'
- 'POSTGRES_USER=${POSTGRES_USER:-plane}'
- 'POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-plane}'
- 'POSTGRES_DB=${POSTGRES_DB:-plane}'
- 'PGDATA=${PGDATA:-/var/lib/postgresql/data}'
- 'DATABASE_URL=${DATABASE_URL:-postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${PGHOST}/${PGDATABASE}}'
- 'REDIS_HOST=${REDIS_HOST:-plane-redis}'
- 'REDIS_PORT=${REDIS_PORT:-6379}'
- 'REDIS_URL=${REDIS_URL:-redis://${REDIS_HOST}:6379/}'
- 'EMAIL_HOST=${EMAIL_HOST:-""}'
- 'EMAIL_HOST_USER=${EMAIL_HOST_USER:-""}'
- 'EMAIL_HOST_PASSWORD=${EMAIL_HOST_PASSWORD:-""}'
- 'EMAIL_PORT=${EMAIL_PORT:-587}'
- 'EMAIL_FROM=${EMAIL_FROM:-"Team Plane <[email protected]>"}'
- 'EMAIL_USE_TLS=${EMAIL_USE_TLS:-1}'
- 'EMAIL_USE_SSL=${EMAIL_USE_SSL:-0}'
- 'DEFAULT_EMAIL=${DEFAULT_EMAIL:[email protected]}'
- 'DEFAULT_PASSWORD=${DEFAULT_PASSWORD:-password123}'
- 'OPENAI_API_BASE=${OPENAI_API_BASE:-https://api.openai.com/v1}'
- 'OPENAI_API_KEY=${OPENAI_API_KEY:-""}'
- 'GPT_ENGINE=${GPT_ENGINE:-"gpt-3.5-turbo"}'
- 'ENABLE_SIGNUP=${ENABLE_SIGNUP:-1}'
- 'ENABLE_EMAIL_PASSWORD=${ENABLE_EMAIL_PASSWORD:-1}'
- 'ENABLE_MAGIC_LINK_LOGIN=${ENABLE_MAGIC_LINK_LOGIN:-0}'
- 'SECRET_KEY=${SECRET_KEY:-60gp0byfz2dvffa45cxl20p1scy9xbpf6d8c5y0geejgkyp1b5}'
- 'USE_MINIO=${USE_MINIO:-1}'
- 'AWS_REGION=${AWS_REGION:-""}'
- 'AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:-"access-key"}'
- 'AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:-"secret-key"}'
- 'AWS_S3_ENDPOINT_URL=${AWS_S3_ENDPOINT_URL:-http://plane-minio:9000}'
- 'AWS_S3_BUCKET_NAME=${AWS_S3_BUCKET_NAME:-uploads}'
- 'MINIO_ROOT_USER=${MINIO_ROOT_USER:-"access-key"}'
- 'MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD:-"secret-key"}'
- 'BUCKET_NAME=${BUCKET_NAME:-uploads}'
- 'FILE_SIZE_LIMIT=${FILE_SIZE_LIMIT:-5242880}'
image: '${DOCKERHUB_USER:-makeplane}/plane-backend:${APP_RELEASE:-latest}'
pull_policy: '${PULL_POLICY:-always}'
restart: 'no'
command: "sh -c \"python manage.py wait_for_db &&\n python manage.py migrate\"\n"
depends_on:
- plane-db
- plane-redis
plane-db:
environment:
- 'NGINX_PORT=${NGINX_PORT:-80}'
- 'WEB_URL=${WEB_URL:-http://localhost}'
- 'DEBUG=${DEBUG:-0}'
- 'DJANGO_SETTINGS_MODULE=${DJANGO_SETTINGS_MODULE:-plane.settings.production}'
- 'NEXT_PUBLIC_DEPLOY_URL=${NEXT_PUBLIC_DEPLOY_URL:-http://localhost/spaces}'
- 'SENTRY_DSN=${SENTRY_DSN:-""}'
- 'SENTRY_ENVIRONMENT=${SENTRY_ENVIRONMENT:-"production"}'
- 'GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID:-""}'
- 'GITHUB_CLIENT_ID=${GITHUB_CLIENT_ID:-""}'
- 'GITHUB_CLIENT_SECRET=${GITHUB_CLIENT_SECRET:-""}'
- 'DOCKERIZED=${DOCKERIZED:-1}'
- 'CORS_ALLOWED_ORIGINS=${CORS_ALLOWED_ORIGINS:-""}'
- 'GUNICORN_WORKERS=${GUNICORN_WORKERS:-2}'
- 'PGHOST=${PGHOST:-plane-db}'
- 'PGDATABASE=${PGDATABASE:-plane}'
- 'POSTGRES_USER=${POSTGRES_USER:-plane}'
- 'POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-plane}'
- 'POSTGRES_DB=${POSTGRES_DB:-plane}'
- 'PGDATA=${PGDATA:-/var/lib/postgresql/data}'
- 'DATABASE_URL=${DATABASE_URL:-postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${PGHOST}/${PGDATABASE}}'
- 'REDIS_HOST=${REDIS_HOST:-plane-redis}'
- 'REDIS_PORT=${REDIS_PORT:-6379}'
- 'REDIS_URL=${REDIS_URL:-redis://${REDIS_HOST}:6379/}'
- 'EMAIL_HOST=${EMAIL_HOST:-""}'
- 'EMAIL_HOST_USER=${EMAIL_HOST_USER:-""}'
- 'EMAIL_HOST_PASSWORD=${EMAIL_HOST_PASSWORD:-""}'
- 'EMAIL_PORT=${EMAIL_PORT:-587}'
- 'EMAIL_FROM=${EMAIL_FROM:-"Team Plane <[email protected]>"}'
- 'EMAIL_USE_TLS=${EMAIL_USE_TLS:-1}'
- 'EMAIL_USE_SSL=${EMAIL_USE_SSL:-0}'
- 'DEFAULT_EMAIL=${DEFAULT_EMAIL:[email protected]}'
- 'DEFAULT_PASSWORD=${DEFAULT_PASSWORD:-password123}'
- 'OPENAI_API_BASE=${OPENAI_API_BASE:-https://api.openai.com/v1}'
- 'OPENAI_API_KEY=${OPENAI_API_KEY:-""}'
- 'GPT_ENGINE=${GPT_ENGINE:-"gpt-3.5-turbo"}'
- 'ENABLE_SIGNUP=${ENABLE_SIGNUP:-1}'
- 'ENABLE_EMAIL_PASSWORD=${ENABLE_EMAIL_PASSWORD:-1}'
- 'ENABLE_MAGIC_LINK_LOGIN=${ENABLE_MAGIC_LINK_LOGIN:-0}'
- 'SECRET_KEY=${SECRET_KEY:-60gp0byfz2dvffa45cxl20p1scy9xbpf6d8c5y0geejgkyp1b5}'
- 'USE_MINIO=${USE_MINIO:-1}'
- 'AWS_REGION=${AWS_REGION:-""}'
- 'AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:-"access-key"}'
- 'AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:-"secret-key"}'
- 'AWS_S3_ENDPOINT_URL=${AWS_S3_ENDPOINT_URL:-http://plane-minio:9000}'
- 'AWS_S3_BUCKET_NAME=${AWS_S3_BUCKET_NAME:-uploads}'
- 'MINIO_ROOT_USER=${MINIO_ROOT_USER:-"access-key"}'
- 'MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD:-"secret-key"}'
- 'BUCKET_NAME=${BUCKET_NAME:-uploads}'
- 'FILE_SIZE_LIMIT=${FILE_SIZE_LIMIT:-5242880}'
image: 'postgres:15.2-alpine'
pull_policy: if_not_present
restart: unless-stopped
command: "postgres -c 'max_connections=1000'"
volumes:
- 'pgdata:/var/lib/postgresql/data'
plane-redis:
environment:
- 'NGINX_PORT=${NGINX_PORT:-80}'
- 'WEB_URL=${WEB_URL:-http://localhost}'
- 'DEBUG=${DEBUG:-0}'
- 'DJANGO_SETTINGS_MODULE=${DJANGO_SETTINGS_MODULE:-plane.settings.production}'
- 'NEXT_PUBLIC_DEPLOY_URL=${NEXT_PUBLIC_DEPLOY_URL:-http://localhost/spaces}'
- 'SENTRY_DSN=${SENTRY_DSN:-""}'
- 'SENTRY_ENVIRONMENT=${SENTRY_ENVIRONMENT:-"production"}'
- 'GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID:-""}'
- 'GITHUB_CLIENT_ID=${GITHUB_CLIENT_ID:-""}'
- 'GITHUB_CLIENT_SECRET=${GITHUB_CLIENT_SECRET:-""}'
- 'DOCKERIZED=${DOCKERIZED:-1}'
- 'CORS_ALLOWED_ORIGINS=${CORS_ALLOWED_ORIGINS:-""}'
- 'GUNICORN_WORKERS=${GUNICORN_WORKERS:-2}'
- 'PGHOST=${PGHOST:-plane-db}'
- 'PGDATABASE=${PGDATABASE:-plane}'
- 'POSTGRES_USER=${POSTGRES_USER:-plane}'
- 'POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-plane}'
- 'POSTGRES_DB=${POSTGRES_DB:-plane}'
- 'PGDATA=${PGDATA:-/var/lib/postgresql/data}'
- 'DATABASE_URL=${DATABASE_URL:-postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${PGHOST}/${PGDATABASE}}'
- 'REDIS_HOST=${REDIS_HOST:-plane-redis}'
- 'REDIS_PORT=${REDIS_PORT:-6379}'
- 'REDIS_URL=${REDIS_URL:-redis://${REDIS_HOST}:6379/}'
- 'EMAIL_HOST=${EMAIL_HOST:-""}'
- 'EMAIL_HOST_USER=${EMAIL_HOST_USER:-""}'
- 'EMAIL_HOST_PASSWORD=${EMAIL_HOST_PASSWORD:-""}'
- 'EMAIL_PORT=${EMAIL_PORT:-587}'
- 'EMAIL_FROM=${EMAIL_FROM:-"Team Plane <[email protected]>"}'
- 'EMAIL_USE_TLS=${EMAIL_USE_TLS:-1}'
- 'EMAIL_USE_SSL=${EMAIL_USE_SSL:-0}'
- 'DEFAULT_EMAIL=${DEFAULT_EMAIL:[email protected]}'
- 'DEFAULT_PASSWORD=${DEFAULT_PASSWORD:-password123}'
- 'OPENAI_API_BASE=${OPENAI_API_BASE:-https://api.openai.com/v1}'
- 'OPENAI_API_KEY=${OPENAI_API_KEY:-""}'
- 'GPT_ENGINE=${GPT_ENGINE:-"gpt-3.5-turbo"}'
- 'ENABLE_SIGNUP=${ENABLE_SIGNUP:-1}'
- 'ENABLE_EMAIL_PASSWORD=${ENABLE_EMAIL_PASSWORD:-1}'
- 'ENABLE_MAGIC_LINK_LOGIN=${ENABLE_MAGIC_LINK_LOGIN:-0}'
- 'SECRET_KEY=${SECRET_KEY:-60gp0byfz2dvffa45cxl20p1scy9xbpf6d8c5y0geejgkyp1b5}'
- 'USE_MINIO=${USE_MINIO:-1}'
- 'AWS_REGION=${AWS_REGION:-""}'
- 'AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:-"access-key"}'
- 'AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:-"secret-key"}'
- 'AWS_S3_ENDPOINT_URL=${AWS_S3_ENDPOINT_URL:-http://plane-minio:9000}'
- 'AWS_S3_BUCKET_NAME=${AWS_S3_BUCKET_NAME:-uploads}'
- 'MINIO_ROOT_USER=${MINIO_ROOT_USER:-"access-key"}'
- 'MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD:-"secret-key"}'
- 'BUCKET_NAME=${BUCKET_NAME:-uploads}'
- 'FILE_SIZE_LIMIT=${FILE_SIZE_LIMIT:-5242880}'
image: 'redis:6.2.7-alpine'
pull_policy: if_not_present
restart: unless-stopped
volumes:
- 'redisdata:/data'
plane-minio:
environment:
- 'NGINX_PORT=${NGINX_PORT:-80}'
- 'WEB_URL=${WEB_URL:-http://localhost}'
- 'DEBUG=${DEBUG:-0}'
- 'DJANGO_SETTINGS_MODULE=${DJANGO_SETTINGS_MODULE:-plane.settings.production}'
- 'NEXT_PUBLIC_DEPLOY_URL=${NEXT_PUBLIC_DEPLOY_URL:-http://localhost/spaces}'
- 'SENTRY_DSN=${SENTRY_DSN:-""}'
- 'SENTRY_ENVIRONMENT=${SENTRY_ENVIRONMENT:-"production"}'
- 'GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID:-""}'
- 'GITHUB_CLIENT_ID=${GITHUB_CLIENT_ID:-""}'
- 'GITHUB_CLIENT_SECRET=${GITHUB_CLIENT_SECRET:-""}'
- 'DOCKERIZED=${DOCKERIZED:-1}'
- 'CORS_ALLOWED_ORIGINS=${CORS_ALLOWED_ORIGINS:-""}'
- 'GUNICORN_WORKERS=${GUNICORN_WORKERS:-2}'
- 'PGHOST=${PGHOST:-plane-db}'
- 'PGDATABASE=${PGDATABASE:-plane}'
- 'POSTGRES_USER=${POSTGRES_USER:-plane}'
- 'POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-plane}'
- 'POSTGRES_DB=${POSTGRES_DB:-plane}'
- 'PGDATA=${PGDATA:-/var/lib/postgresql/data}'
- 'DATABASE_URL=${DATABASE_URL:-postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${PGHOST}/${PGDATABASE}}'
- 'REDIS_HOST=${REDIS_HOST:-plane-redis}'
- 'REDIS_PORT=${REDIS_PORT:-6379}'
- 'REDIS_URL=${REDIS_URL:-redis://${REDIS_HOST}:6379/}'
- 'EMAIL_HOST=${EMAIL_HOST:-""}'
- 'EMAIL_HOST_USER=${EMAIL_HOST_USER:-""}'
- 'EMAIL_HOST_PASSWORD=${EMAIL_HOST_PASSWORD:-""}'
- 'EMAIL_PORT=${EMAIL_PORT:-587}'
- 'EMAIL_FROM=${EMAIL_FROM:-"Team Plane <[email protected]>"}'
- 'EMAIL_USE_TLS=${EMAIL_USE_TLS:-1}'
- 'EMAIL_USE_SSL=${EMAIL_USE_SSL:-0}'
- 'DEFAULT_EMAIL=${DEFAULT_EMAIL:[email protected]}'
- 'DEFAULT_PASSWORD=${DEFAULT_PASSWORD:-password123}'
- 'OPENAI_API_BASE=${OPENAI_API_BASE:-https://api.openai.com/v1}'
- 'OPENAI_API_KEY=${OPENAI_API_KEY:-""}'
- 'GPT_ENGINE=${GPT_ENGINE:-"gpt-3.5-turbo"}'
- 'ENABLE_SIGNUP=${ENABLE_SIGNUP:-1}'
- 'ENABLE_EMAIL_PASSWORD=${ENABLE_EMAIL_PASSWORD:-1}'
- 'ENABLE_MAGIC_LINK_LOGIN=${ENABLE_MAGIC_LINK_LOGIN:-0}'
- 'SECRET_KEY=${SECRET_KEY:-60gp0byfz2dvffa45cxl20p1scy9xbpf6d8c5y0geejgkyp1b5}'
- 'USE_MINIO=${USE_MINIO:-1}'
- 'AWS_REGION=${AWS_REGION:-""}'
- 'AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:-"access-key"}'
- 'AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:-"secret-key"}'
- 'AWS_S3_ENDPOINT_URL=${AWS_S3_ENDPOINT_URL:-http://plane-minio:9000}'
- 'AWS_S3_BUCKET_NAME=${AWS_S3_BUCKET_NAME:-uploads}'
- 'MINIO_ROOT_USER=${MINIO_ROOT_USER:-"access-key"}'
- 'MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD:-"secret-key"}'
- 'BUCKET_NAME=${BUCKET_NAME:-uploads}'
- 'FILE_SIZE_LIMIT=${FILE_SIZE_LIMIT:-5242880}'
image: 'quay.io/minio/minio:RELEASE.2023-11-01T01-57-10Z-cpuv1'
pull_policy: if_not_present
restart: unless-stopped
command: 'server /export --console-address ":9090"'
volumes:
- 'uploads:/export'
proxy:
environment:
- 'NGINX_PORT=${NGINX_PORT:-80}'
- 'WEB_URL=${WEB_URL:-http://localhost}'
- 'DEBUG=${DEBUG:-0}'
- 'DJANGO_SETTINGS_MODULE=${DJANGO_SETTINGS_MODULE:-plane.settings.production}'
- 'NEXT_PUBLIC_DEPLOY_URL=${NEXT_PUBLIC_DEPLOY_URL:-http://localhost/spaces}'
- 'SENTRY_DSN=${SENTRY_DSN:-""}'
- 'SENTRY_ENVIRONMENT=${SENTRY_ENVIRONMENT:-"production"}'
- 'GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID:-""}'
- 'GITHUB_CLIENT_ID=${GITHUB_CLIENT_ID:-""}'
- 'GITHUB_CLIENT_SECRET=${GITHUB_CLIENT_SECRET:-""}'
- 'DOCKERIZED=${DOCKERIZED:-1}'
- 'CORS_ALLOWED_ORIGINS=${CORS_ALLOWED_ORIGINS:-""}'
- 'GUNICORN_WORKERS=${GUNICORN_WORKERS:-2}'
- 'PGHOST=${PGHOST:-plane-db}'
- 'PGDATABASE=${PGDATABASE:-plane}'
- 'POSTGRES_USER=${POSTGRES_USER:-plane}'
- 'POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-plane}'
- 'POSTGRES_DB=${POSTGRES_DB:-plane}'
- 'PGDATA=${PGDATA:-/var/lib/postgresql/data}'
- 'DATABASE_URL=${DATABASE_URL:-postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${PGHOST}/${PGDATABASE}}'
- 'REDIS_HOST=${REDIS_HOST:-plane-redis}'
- 'REDIS_PORT=${REDIS_PORT:-6379}'
- 'REDIS_URL=${REDIS_URL:-redis://${REDIS_HOST}:6379/}'
- 'EMAIL_HOST=${EMAIL_HOST:-""}'
- 'EMAIL_HOST_USER=${EMAIL_HOST_USER:-""}'
- 'EMAIL_HOST_PASSWORD=${EMAIL_HOST_PASSWORD:-""}'
- 'EMAIL_PORT=${EMAIL_PORT:-587}'
- 'EMAIL_FROM=${EMAIL_FROM:-"Team Plane <[email protected]>"}'
- 'EMAIL_USE_TLS=${EMAIL_USE_TLS:-1}'
- 'EMAIL_USE_SSL=${EMAIL_USE_SSL:-0}'
- 'DEFAULT_EMAIL=${DEFAULT_EMAIL:[email protected]}'
- 'DEFAULT_PASSWORD=${DEFAULT_PASSWORD:-password123}'
- 'OPENAI_API_BASE=${OPENAI_API_BASE:-https://api.openai.com/v1}'
- 'OPENAI_API_KEY=${OPENAI_API_KEY:-""}'
- 'GPT_ENGINE=${GPT_ENGINE:-"gpt-3.5-turbo"}'
- 'ENABLE_SIGNUP=${ENABLE_SIGNUP:-1}'
- 'ENABLE_EMAIL_PASSWORD=${ENABLE_EMAIL_PASSWORD:-1}'
- 'ENABLE_MAGIC_LINK_LOGIN=${ENABLE_MAGIC_LINK_LOGIN:-0}'
- 'SECRET_KEY=${SECRET_KEY:-60gp0byfz2dvffa45cxl20p1scy9xbpf6d8c5y0geejgkyp1b5}'
- 'USE_MINIO=${USE_MINIO:-1}'
- 'AWS_REGION=${AWS_REGION:-""}'
- 'AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID:-"access-key"}'
- 'AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY:-"secret-key"}'
- 'AWS_S3_ENDPOINT_URL=${AWS_S3_ENDPOINT_URL:-http://plane-minio:9000}'
- 'AWS_S3_BUCKET_NAME=${AWS_S3_BUCKET_NAME:-uploads}'
- 'MINIO_ROOT_USER=${MINIO_ROOT_USER:-"access-key"}'
- 'MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD:-"secret-key"}'
- 'BUCKET_NAME=${BUCKET_NAME:-uploads}'
- 'FILE_SIZE_LIMIT=${FILE_SIZE_LIMIT:-5242880}'
image: '${DOCKERHUB_USER:-makeplane}/plane-proxy:${APP_RELEASE:-latest}'
pull_policy: '${PULL_POLICY:-always}'
ports:
- '${NGINX_PORT}:80'
depends_on:
- web
- api
- space
volumes:
pgdata: null
redisdata: null
uploads: null