forked from ascoderu/lokole
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
126 lines (112 loc) · 3.83 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
version: '3.4'
x-shared-app-environment:
&shared-app-environment
LOKOLE_QUEUE_BROKER_URL: amqp://${RABBITMQ_USER}:${RABBITMQ_PASSWORD}@rabbitmq
LOKOLE_QUEUE_BROKER_SCHEME: ${LOKOLE_QUEUE_BROKER_SCHEME}
LOKOLE_EMAIL_SERVER_QUEUES_SAS_NAME: ${LOKOLE_EMAIL_SERVER_QUEUES_SAS_NAME}
LOKOLE_EMAIL_SERVER_QUEUES_SAS_KEY: ${LOKOLE_EMAIL_SERVER_QUEUES_SAS_KEY}
LOKOLE_EMAIL_SERVER_QUEUES_NAMESPACE: ${LOKOLE_EMAIL_SERVER_QUEUES_NAMESPACE}
LOKOLE_LOG_LEVEL: ${LOKOLE_LOG_LEVEL}
LOKOLE_EMAIL_SERVER_APPINSIGHTS_KEY: ${APPINSIGHTS_INSTRUMENTATIONKEY}
LOKOLE_EMAIL_SERVER_APPINSIGHTS_HOST: http://appinsights:8000
LOKOLE_RESOURCE_SUFFIX: ${LOKOLE_RESOURCE_SUFFIX}
LOKOLE_STORAGE_PROVIDER: AZURE_BLOBS
LOKOLE_EMAIL_SERVER_AZURE_BLOBS_NAME: ${AZURITE_ACCOUNT}
LOKOLE_EMAIL_SERVER_AZURE_BLOBS_KEY: ${AZURITE_KEY}
LOKOLE_EMAIL_SERVER_AZURE_BLOBS_HOST: ${AZURITE_HOST}
LOKOLE_EMAIL_SERVER_AZURE_BLOBS_SECURE: ${AZURITE_SECURE}
LOKOLE_EMAIL_SERVER_AZURE_TABLES_NAME: ${AZURITE_ACCOUNT}
LOKOLE_EMAIL_SERVER_AZURE_TABLES_KEY: ${AZURITE_KEY}
LOKOLE_EMAIL_SERVER_AZURE_TABLES_HOST: ${AZURITE_HOST}
LOKOLE_EMAIL_SERVER_AZURE_TABLES_SECURE: ${AZURITE_SECURE}
LOKOLE_CLIENT_AZURE_STORAGE_NAME: ${AZURITE_ACCOUNT}
LOKOLE_CLIENT_AZURE_STORAGE_KEY: ${AZURITE_KEY}
LOKOLE_CLIENT_AZURE_STORAGE_HOST: ${AZURITE_HOST}
LOKOLE_CLIENT_AZURE_STORAGE_SECURE: ${AZURITE_SECURE}
x-shared-app-build:
&shared-app-build
image: ${DOCKER_REPO}/opwenserver_app:${BUILD_TAG}
build:
context: .
dockerfile: docker/app/Dockerfile
target: ${BUILD_TARGET}
args:
LOKOLE_SENDGRID_KEY: ${LOKOLE_SENDGRID_KEY}
services:
nginx:
image: ${DOCKER_REPO}/opwenserver_nginx:${BUILD_TAG}
build:
context: .
dockerfile: docker/nginx/Dockerfile
ports:
- ${APP_PORT}:8888
environment:
DNS_RESOLVER: 127.0.0.11
HOSTNAME_WEBAPP: webapp:8080
HOSTNAME_CLIENT_METRICS: api:8080
HOSTNAME_CLIENT_READ: api:8080
HOSTNAME_CLIENT_WRITE: api:8080
HOSTNAME_EMAIL_RECEIVE: api:8080
HOSTNAME_CLIENT_REGISTER: api:8080
depends_on:
- api
- webapp
webapp:
image: ${DOCKER_REPO}/opwenwebapp:${BUILD_TAG}
build:
context: .
dockerfile: docker/client/Dockerfile
args:
LOKOLE_PORT: "8080"
LOKOLE_CLIENT_VERSION: ${WEBAPP_VERSION}
environment:
<<: *shared-app-environment
depends_on:
- azurite
api:
<<: *shared-app-build
command: ["/app/docker/app/run-gunicorn.sh"]
environment:
<<: *shared-app-environment
PORT: "8080"
CONNEXION_SPEC: dir:/app/opwen_email_server/swagger
SERVER_WORKERS: ${SERVER_WORKERS}
TESTING_UI: "True"
LOKOLE_REGISTRATION_USERNAME: admin
LOKOLE_REGISTRATION_PASSWORD: password
depends_on:
- appinsights
- azurite
worker:
<<: *shared-app-build
command: ["/app/docker/app/run-celery.sh"]
environment:
<<: *shared-app-environment
CELERY_QUEUE_NAMES: all
QUEUE_WORKERS: ${QUEUE_WORKERS}
depends_on:
- appinsights
- azurite
- rabbitmq
rabbitmq:
image: rabbitmq:management-alpine
environment:
RABBITMQ_DEFAULT_USER: ${RABBITMQ_USER}
RABBITMQ_DEFAULT_PASS: ${RABBITMQ_PASSWORD}
ports:
- ${RABBITMQ_PORT}:15672
appinsights:
image: cwolff/appinsights-on-premises:0.2.0-libcloud
depends_on:
- azurite
environment:
PORT: "8000"
DATABASE_URL: "libcloud://${AZURITE_ACCOUNT}:${AZURITE_KEY}@azure_blobs?endpoint=${AZURITE_HOST}&ssl=${AZURITE_SECURE}"
APPINSIGHTS_INSTRUMENTATIONKEY: "${APPINSIGHTS_INSTRUMENTATIONKEY}"
azurite:
image: mcr.microsoft.com/azure-storage/azurite:latest
command: ["azurite-blob", "--blobHost=0.0.0.0"]
environment:
AZURITE_ACCOUNTS: "${AZURITE_ACCOUNT}:${AZURITE_KEY};"
ports:
- ${AZURITE_PORT}:10000