-
Notifications
You must be signed in to change notification settings - Fork 4
/
docker-compose.yml
112 lines (106 loc) · 3.97 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
name: carrot-mapper-dev
services:
db:
image: postgres:13
restart: always
ports:
- 5432:5432
environment:
- POSTGRES_PASSWORD=postgres
next-client:
image: carrot-next-client
build:
context: app/next-client-app
dockerfile: Dockerfile
ports:
- 3000:3000
environment:
- BACKEND_URL=http://web:8000
- BACKEND_ORIGIN=localhost:8000
volumes:
- ./app/next-client-app:/next-client-app
omop-lite:
image: ghcr.io/andyrae/omop-lite
volumes:
- ./vocabs:/vocabs
depends_on:
- db
environment:
- DB_PASSWORD=postgres
- DB_NAME=postgres
web:
image: carrot
build:
context: app
dockerfile: Dockerfile
ports:
- 8000:8000
environment:
- NEXTJS_URL=http://next-client:3000
- ALLOWED_HOSTS=['localhost', '127.0.0.1','web', 'workers']
- COCONNECT_DB_ENGINE=django.db.backends.postgresql
- COCONNECT_DB_HOST=db
- COCONNECT_DB_PORT=5432
- COCONNECT_DB_NAME=postgres
- COCONNECT_DB_USER=postgres
- COCONNECT_DB_PASSWORD=postgres
- ENABLE_PROXY=true
- AZ_FUNCTION_USER=admin
- DEBUG=True
- UPLOAD_QUEUE_NAME=uploadreports-local
- SECRET_KEY=secret
- AZURE_ACCOUNT_NAME=devstoreaccount1
- AZ_URL=http://workers:80
- AZ_RULES_NAME=RulesOrchestrator
- AZ_RULES_EXPORT_QUEUE=rules=exports-local
- STORAGE_CONN_STRING=DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://azurite:10000/devstoreaccount1;QueueEndpoint=http://azurite:10001/devstoreaccount1;TableEndpoint=http://azurite:10002/devstoreaccount1;
volumes:
- ./app/api:/api
depends_on:
- db
- azurite
workers:
image: carrot-workers
build:
context: app
dockerfile: workers/Dockerfile
ports:
- 8080:80
- 7071:80
environment:
- IsEncrypted=false
- AzureWebJobsStorage=DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://azurite:10000/devstoreaccount1;QueueEndpoint=http://azurite:10001/devstoreaccount1;TableEndpoint=http://azurite:10002/devstoreaccount1;
- FUNCTIONS_WORKER_RUNTIME=python
- STORAGE_CONN_STRING=DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://azurite:10000/devstoreaccount1;QueueEndpoint=http://azurite:10001/devstoreaccount1;TableEndpoint=http://azurite:10002/devstoreaccount1;
- APP_URL=http://web:8000/
# The key below needed for authentication and can be obtained through localhost:8000/admin/ --> add tokens
- AZ_FUNCTION_KEY=2d374a1f460fc9627d69e99c6cbeabf3f759d517
# Four queues below need adding to Azure local storage
- SCAN_REPORT_QUEUE_NAME=scanreports-local
- UPLOAD_QUEUE_NAME=uploadreports-local
- RULES_QUEUE_NAME=rules-local
- RULES_FILE_QUEUE_NAME=rules-exports-local
- PAGE_MAX_CHARS=30000
- CHUNK_SIZE=6
# The address that can be used to reach the function app from outside
- WEBSITE_HOSTNAME=localhost:7071
volumes:
- ./app/workers:/home/site/wwwroot
- ./app/shared:/shared
depends_on:
- web
- azurite
azurite:
container_name: azurite
image: mcr.microsoft.com/azure-storage/azurite
restart: always
volumes:
- ./app/azurite:/azurite
ports:
- 10000:10000
- 10001:10001
- 10002:10002
command: azurite --blobHost azurite --queueHost azurite --tableHost azurite --location /data --debug /data/debug.log --loose --skipApiVersionCheck
hostname: azurite
environment:
- AZURITE_ACCOUNTS=devstoreaccount1:Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==