You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: installation/baremetal.md
+11-15Lines changed: 11 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -70,20 +70,21 @@ Copy the [example configuration](https://github.com/checkmarble/marble-backend/b
70
70
71
71
- Set the `PG_*` variables to point to your PostgresSQL instance.
72
72
- Set the `GOOGLE_CLOUD_PROJECT` to the ID of your Firebase project.
73
-
- The `GOOGLE_APPLICATION_CREDENTIALS` should contain the path to the JSON private key file downloaded from Firebase.
73
+
- The `GOOGLE_APPLICATION_CREDENTIALS` should contain the path to the JSON private key file downloaded from Firebase/GCP.
74
+
- Set `FIREBASE_API_KEY` with the information retrieved from your Firebase account.
74
75
- Set `AUTHENTICATION_JWT_SIGNING_KEY_FILE` to point to the generated RSA private key at `/etc/marble/jwtsigningkey.pem`.
75
76
-`*_BUCKET_URL`should point to buckets in your blob storage platform (S3, Azure Blob or GCS).
76
-
If you are using Minio, use a URL such as `s3://<bucket>?awssdk=v1&endpoint=minio.domain.com®ion=us-east-1&s3ForcePathStyle=true`. In this case, you may also add `disableSSL=true` if your MinIO instance is in cleartext.
77
-
You might have to add provider-specific configuration, for example for authentication (for S3 and MinIO, for example, set `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`.
78
-
- Set the `CREATE_*` variables to specify your initial organization and admin user.
77
+
If you are using Minio, use a URL such as `s3://<bucket>?awssdk=v1&endpoint=minio.domain.com®ion=us-east-1&s3ForcePathStyle=true`. In this case, you may also add `disableSSL=true` if your MinIO instance is in cleartext.
78
+
You might have to add provider-specific configuration, for example for authentication (for S3 and MinIO, for example, set `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`).
79
+
- Set the `CREATE_*` variables to specify your initial organization and admin user - this needs to be run only once and can be omitted after the first run.
79
80
- Set your `LICENCE_KEY`.
80
-
- Set `MARBLE_APP_URL` to the URL used to access the frontend.
81
+
- Set `MARBLE_APP_URL` to the external HTTP base your users’ browsers can use to reach the frontend.
81
82
82
83
### Service configuration
83
84
84
85
Marble’s backend is composed of five discrete services, three of which are scheduled tasks. Those can be configured with the following systemd units:
Copy the [example configuration](https://github.com/checkmarble/marble-frontend/blob/main/packages/app-builder/.env.example) file into `/etc/marble/front.conf`and edit the relevant settings. Among others:
171
172
172
173
-`NODE_ENV` must be set to `production`.
173
-
-`ENV` should be set to `production`.
174
-
Note that this will require setting up TLS certificates to access the frontend. If prototyping without TLS, set this to `development`.
175
174
- Set a random, high-entropy `SESSION_SECRET`.
176
-
-`MARBLE_API_URL_SERVER` should be the external HTTP base your users’ browsers can use to reach the API.
177
-
-`MARBLE_APP_URL` should be set to the external HTTP base your users’ browsers can use to reach the frontend.
178
-
- Set the different Firebase configuration settings with the information retrieved from your Firebase account.
175
+
-`MARBLE_API_URL` should be the internal HTTP base your frontend service can use to reach the API.
179
176
180
177
### Service configuration
181
178
182
-
Drop this `systemd`unit file in ``/etc/systemd/system/marble-front.service``:
179
+
Drop this `systemd`unit file in `/etc/systemd/system/marble-front.service`:
- Missing variable means the frontend container will not start
229
+
- Wrong value, or unreachable network, means the container will start but fail immediately as soon as you try to access the page
248
230
249
-
3.**Network Connectivity**
231
+
2.**Network Connectivity**
250
232
251
233
- Confirm services can reach each other
252
234
- Check firewall rules
253
235
- Verify DNS resolution works
254
236
- Test internal container networking
255
237
256
-
4.**Invalid Google Cloud Service Account**
238
+
3.**Invalid Google Cloud Service Account**
257
239
258
240
Check Marble's startup logs for messages related to Google Cloud Platform's authentication, they may be able to point your to a potential misconfiguration:
259
241
@@ -273,13 +255,13 @@ Those lines indicate:
273
255
274
256
You can verify that those value match your environment if you encounter any issue.
275
257
276
-
5.**Firebase Configuration**
258
+
4.**Firebase Configuration**
277
259
278
260
- Service account:
279
261
280
262
- Check that the detected Google Cloud project and service account match your environment
281
263
282
-
- Required environment variables:
264
+
- Required environment variables (on the backend container):
283
265
284
266
-`FIREBASE_API_KEY`: Web API key from Firebase Console
0 commit comments