@@ -29,7 +29,6 @@ production-ready stack would at minimum consist of:
2929- A Cube Refresh Worker
3030- A Cube Store Router node
3131- One or more Cube Store Worker nodes
32- - A Redis instance
3332
3433An example stack using BigQuery as a data source is provided below:
3534
@@ -55,15 +54,14 @@ services:
5554 - CUBEJS_DB_BQ_CREDENTIALS=<BQ-KEY>
5655 - CUBEJS_DB_EXPORT_BUCKET=cubestore
5756 - CUBEJS_CUBESTORE_HOST=cubestore_router
58- - CUBEJS_REDIS_URL=redis://redis:6379
5957 - CUBEJS_API_SECRET=secret
6058 volumes :
6159 - .:/cube/conf
6260 depends_on :
61+ - cube_refresh_worker
62+ - cubestore_router
6363 - cubestore_worker_1
6464 - cubestore_worker_2
65- - cube_refresh_worker
66- - redis
6765
6866 cube_refresh_worker :
6967 restart : always
@@ -74,7 +72,6 @@ services:
7472 - CUBEJS_DB_BQ_CREDENTIALS=<BQ-KEY>
7573 - CUBEJS_DB_EXPORT_BUCKET=cubestore
7674 - CUBEJS_CUBESTORE_HOST=cubestore_router
77- - CUBEJS_REDIS_URL=redis://redis:6379
7875 - CUBEJS_API_SECRET=secret
7976 - CUBEJS_REFRESH_WORKER=true
8077 volumes :
@@ -118,20 +115,13 @@ services:
118115 - .cubestore:/cube/data
119116 depends_on :
120117 - cubestore_router
121-
122- redis :
123- image : bitnami/redis:latest
124- environment :
125- - ALLOW_EMPTY_PASSWORD=yes
126- logging :
127- driver : none
128118` ` `
129119
130120## Set up reverse proxy
131121
132- In production, the Cube API should be served over an HTTPS connection to ensure
133- security of the data in-transit. We recommend using a reverse proxy; as an
134- example, let's use [NGINX][link-nginx].
122+ In production, the Cube API should be served over an HTTPS connection to
123+ ensure security of the data in-transit. We recommend using a reverse proxy; as
124+ an example, let's use [NGINX][link-nginx].
135125
136126<InfoBox>
137127
@@ -192,9 +182,9 @@ post][medium-letsencrypt-nginx] may be useful.
192182
193183# ## <--{"id" : "Security"}--> Use JSON Web Tokens
194184
195- Cube can be configured to use industry-standard JSON Web Key Sets for securing
196- its API and limiting access to data. To do this, we'll define the relevant
197- options on our Cube API instance :
185+ Cube can be configured to use industry-standard JSON Web Key Sets for
186+ securing its API and limiting access to data. To do this, we'll define the
187+ relevant options on our Cube API instance :
198188
199189<WarningBox>
200190
@@ -235,9 +225,9 @@ services:
235225
236226# ## <--{"id" : "Security"}--> Securing Cube Store
237227
238- All Cube Store nodes (both router and workers) should only be accessible to Cube
239- API instances and refresh workers. To do this with Docker Compose, we simply
240- need to make sure that none of the Cube Store services have any exposed ports.
228+ All Cube Store nodes (both router and workers) should only be accessible to
229+ Cube API instances and refresh workers. To do this with Docker Compose, we
230+ simply need to make sure that none of the Cube Store services have any exposed
241231
242232# # Monitoring
243233
@@ -259,7 +249,7 @@ cubestore_router_1 | 2021-06-02 15:03:20,915 INFO [cubestore::metastore] Cre
259249cubestore_router_1 | 2021-06-02 15:03:20,950 INFO [cubestore::cluster] Meta store port open on 0.0.0.0:9999
260250cubestore_router_1 | 2021-06-02 15:03:20,951 INFO [cubestore::mysql] MySQL port open on 0.0.0.0:3306
261251cubestore_router_1 | 2021-06-02 15:03:20,952 INFO [cubestore::http] Http Server is listening on 0.0.0.0:3030
262- cube_1 | 🚀 Cube server (%CURRENT_VERSION) is listening on 4000
252+ cube_1 | 🚀 Cube API server (%CURRENT_VERSION) is listening on 4000
263253cubestore_worker_2_1 | 2021-06-02 15:03:24,945 INFO [cubestore::cluster] Worker port open on 0.0.0.0:9001
264254cubestore_worker_1_1 | 2021-06-02 15:03:24,830 INFO [cubestore::cluster] Worker port open on 0.0.0.0:9001
265255```
0 commit comments