-
Notifications
You must be signed in to change notification settings - Fork 884
Expand file tree
/
Copy pathdocker-compose.build.yml
More file actions
167 lines (164 loc) · 6.36 KB
/
Copy pathdocker-compose.build.yml
File metadata and controls
167 lines (164 loc) · 6.36 KB
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
include:
- ./docker-compose.infra.yml
services:
api:
container_name: api
image: gauzy-api:latest
build:
context: .
dockerfile: .deploy/api/Dockerfile
# Only NODE_ENV is passed as a build arg here (picks the dev/prod nx build);
# the Dockerfile also accepts DEMO, NODE_OPTIONS and NX_BRANCH with built-in
# defaults. All other configuration is runtime environment (see `environment:`
# below) — the API image does not bake env values at build time.
# Same default as the runtime `NODE_ENV` below: with `development` here the image shipped the
# dev nx build while running as production.
args:
NODE_ENV: ${NODE_ENV:-production}
environment:
API_HOST: ${API_HOST:-api}
API_PORT: ${API_PORT:-3000}
NODE_ENV: ${NODE_ENV:-production}
DB_HOST: db
API_BASE_URL: ${API_BASE_URL:-http://localhost:3000}
CLIENT_BASE_URL: ${CLIENT_BASE_URL:-http://localhost:4200}
CLOUD_PROVIDER: ${CLOUD_PROVIDER:-}
SENTRY_DSN: ${SENTRY_DSN:-}
SENTRY_HTTP_TRACING_ENABLED: ${SENTRY_HTTP_TRACING_ENABLED:-}
SENTRY_POSTGRES_TRACKING_ENABLED: ${SENTRY_POSTGRES_TRACKING_ENABLED:-}
SENTRY_PROFILING_ENABLED: ${SENTRY_PROFILING_ENABLED:-}
POSTHOG_KEY: ${POSTHOG_KEY:-}
POSTHOG_HOST: ${POSTHOG_HOST:-}
POSTHOG_ENABLED: ${POSTHOG_ENABLED:-}
POSTHOG_FLUSH_INTERVAL: ${POSTHOG_FLUSH_INTERVAL:-}
JITSU_SERVER_URL: ${JITSU_SERVER_URL:-}
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT: ${OTEL_EXPORTER_OTLP_TRACES_ENDPOINT:-}
OTEL_EXPORTER_OTLP_HEADERS: ${OTEL_EXPORTER_OTLP_HEADERS:-}
OTEL_ENABLED: ${OTEL_ENABLED:-}
OTEL_PROVIDER: ${OTEL_PROVIDER:-}
JITSU_SERVER_WRITE_KEY: ${JITSU_SERVER_WRITE_KEY:-}
GAUZY_GITHUB_CLIENT_ID: ${GAUZY_GITHUB_CLIENT_ID:-}
GAUZY_GITHUB_CLIENT_SECRET: ${GAUZY_GITHUB_CLIENT_SECRET:-}
GAUZY_GITHUB_WEBHOOK_URL: ${GAUZY_GITHUB_WEBHOOK_URL:-}
GAUZY_GITHUB_WEBHOOK_SECRET: ${GAUZY_GITHUB_WEBHOOK_SECRET:-}
GAUZY_GITHUB_APP_PRIVATE_KEY: ${GAUZY_GITHUB_APP_PRIVATE_KEY:-}
GAUZY_GITHUB_APP_ID: ${GAUZY_GITHUB_APP_ID:-}
GAUZY_GITHUB_APP_NAME: ${GAUZY_GITHUB_APP_NAME:-}
GAUZY_GITHUB_POST_INSTALL_URL: ${GAUZY_GITHUB_POST_INSTALL_URL:-}
GAUZY_GITHUB_OAUTH_CLIENT_ID: ${GAUZY_GITHUB_OAUTH_CLIENT_ID:-}
GAUZY_GITHUB_OAUTH_CLIENT_SECRET: ${GAUZY_GITHUB_OAUTH_CLIENT_SECRET:-}
GAUZY_GITHUB_OAUTH_CALLBACK_URL: ${GAUZY_GITHUB_OAUTH_CALLBACK_URL:-}
MAGIC_CODE_EXPIRATION_TIME: ${MAGIC_CODE_EXPIRATION_TIME:-}
APP_NAME: ${APP_NAME:-}
APP_LOGO: ${APP_LOGO:-}
APP_SIGNATURE: ${APP_SIGNATURE:-}
APP_LINK: ${APP_LINK:-}
APP_EMAIL_CONFIRMATION_URL: ${APP_EMAIL_CONFIRMATION_URL:-}
APP_MAGIC_SIGN_URL: ${APP_MAGIC_SIGN_URL:-}
COMPANY_LINK: ${COMPANY_LINK:-}
COMPANY_NAME: ${COMPANY_NAME:-}
env_file:
- .env.compose
entrypoint: './entrypoint.compose.sh'
command: ['node', 'main.js']
restart: on-failure
depends_on:
db:
condition: service_healthy
zipkin:
condition: service_started
redis:
condition: service_started
minio:
condition: service_healthy
minio_create_buckets:
condition: service_started
opensearch:
condition: service_healthy
cube:
condition: service_started
links:
- db:${DB_HOST:-db}
- cube:${CUBE_HOST:-cube}
- redis:${REDIS_HOST:-redis}
- minio:${MINIO_HOST:-minio}
- opensearch:${ES_HOST:-opensearch}
# volumes:
# - webapp_node_modules:/srv/gauzy/node_modules
# - api_node_modules:/srv/gauzy/apps/api/node_modules
ports:
- '3000:${API_PORT:-3000}'
networks:
- overlay
webapp:
container_name: webapp
image: gauzy-webapp:latest
build:
context: .
dockerfile: .deploy/webapp/Dockerfile
# Only NODE_ENV and DEMO are passed as build args here; the Dockerfile also
# accepts NODE_OPTIONS and NX_BRANCH with built-in defaults. The Angular bundle
# is compiled with DOCKER_* placeholders; all other values are substituted from
# the RUNTIME environment (see `environment:` below) by the container entrypoint
# at startup.
args:
NODE_ENV: ${NODE_ENV:-development}
DEMO: 'true'
environment:
WEB_HOST: ${WEB_HOST:-webapp}
WEB_PORT: ${WEB_PORT:-4200}
NODE_ENV: ${NODE_ENV:-development}
API_BASE_URL: ${API_BASE_URL:-http://localhost:3000}
CLIENT_BASE_URL: ${CLIENT_BASE_URL:-http://localhost:4200}
SENTRY_DSN: ${SENTRY_DSN:-}
SENTRY_TRACES_SAMPLE_RATE: ${SENTRY_TRACES_SAMPLE_RATE:-0.1}
SENTRY_PROFILE_SAMPLE_RATE: ${SENTRY_PROFILE_SAMPLE_RATE:-1}
CHATWOOT_SDK_TOKEN: ${CHATWOOT_SDK_TOKEN:-}
CLOUDINARY_CLOUD_NAME: ${CLOUDINARY_CLOUD_NAME:-}
CLOUDINARY_API_KEY: ${CLOUDINARY_API_KEY:-}
GOOGLE_MAPS_API_KEY: ${GOOGLE_MAPS_API_KEY:-}
GOOGLE_PLACE_AUTOCOMPLETE: ${GOOGLE_PLACE_AUTOCOMPLETE:-false}
DEFAULT_LATITUDE: ${DEFAULT_LATITUDE:-42.6459136}
DEFAULT_LONGITUDE: ${DEFAULT_LONGITUDE:-23.3332736}
DEFAULT_CURRENCY: ${DEFAULT_CURRENCY:-USD}
GAUZY_GITHUB_CLIENT_ID: ${GAUZY_GITHUB_CLIENT_ID:-}
GAUZY_GITHUB_APP_NAME: ${GAUZY_GITHUB_APP_NAME:-}
GAUZY_GITHUB_REDIRECT_URL: ${GAUZY_GITHUB_REDIRECT_URL:-}
GAUZY_GITHUB_POST_INSTALL_URL: ${GAUZY_GITHUB_POST_INSTALL_URL:-}
GAUZY_GITHUB_APP_ID: ${GAUZY_GITHUB_APP_ID:-}
JITSU_BROWSER_URL: ${JITSU_BROWSER_URL:-}
JITSU_BROWSER_WRITE_KEY: ${JITSU_BROWSER_WRITE_KEY:-}
DEMO: 'true'
API_HOST: ${API_HOST:-api}
API_PORT: ${API_PORT:-3000}
entrypoint: './entrypoint.compose.sh'
command: ['nginx', '-g', 'daemon off;']
env_file:
- .env.compose
restart: on-failure
links:
- db:${DB_HOST:-db}
- api:${API_HOST:-api}
- cube:${CUBE_HOST:-cube}
- redis:${REDIS_HOST:-redis}
- minio:${MINIO_HOST:-minio}
- opensearch:${ES_HOST:-opensearch}
depends_on:
db:
condition: service_healthy
redis:
condition: service_started
minio:
condition: service_healthy
minio_create_buckets:
condition: service_started
opensearch:
condition: service_started
api:
condition: service_started
# volumes:
# - webapp_node_modules:/srv/gauzy/node_modules
ports:
- '4200:${UI_PORT:-4200}'
networks:
- overlay