Skip to content

Commit 99bd020

Browse files
Updated documentation for Convertigo 8.4.4
1 parent 0f8a7e1 commit 99bd020

1 file changed

Lines changed: 42 additions & 40 deletions

File tree

convertigo/content.md

Lines changed: 42 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ For modern Docker setups, prefer one of these approaches:
4040
With Docker Desktop, `host.docker.internal` is available by default:
4141

4242
```console
43-
docker run -d --name C8O \
43+
$ docker run -d --name C8O \
4444
-e JAVA_OPTS="-Dconvertigo.engine.fullsync.couch.url=http://host.docker.internal:5984" \
4545
-p 28080:28080 %%IMAGE%%
4646
```
@@ -54,7 +54,7 @@ On Docker Engine for Linux, add:
5454
Example:
5555

5656
```console
57-
docker run -d --name C8O \
57+
$ docker run -d --name C8O \
5858
--add-host host.docker.internal:host-gateway \
5959
-e JAVA_OPTS="-Dconvertigo.engine.fullsync.couch.url=http://host.docker.internal:5984" \
6060
-p 28080:28080 %%IMAGE%%
@@ -65,15 +65,15 @@ docker run -d --name C8O \
6565
Create a user-defined Docker network and run both containers on it:
6666

6767
```console
68-
docker network create c8o-net
68+
$ docker network create c8o-net
6969
```
7070

7171
```console
72-
docker run -d --name fullsync --network c8o-net couchdb:3.2.2
72+
$ docker run -d --name fullsync --network c8o-net couchdb:3.2.2
7373
```
7474

7575
```console
76-
docker run -d --name C8O --network c8o-net \
76+
$ docker run -d --name C8O --network c8o-net \
7777
-e JAVA_OPTS="-Dconvertigo.engine.fullsync.couch.url=http://fullsync:5984" \
7878
-p 28080:28080 %%IMAGE%%
7979
```
@@ -101,7 +101,7 @@ MySQL is the recommended database for holding Convertigo analytics data.
101101
If the database runs on the Docker host, use `host.docker.internal`:
102102

103103
```console
104-
docker run -d --name C8O \
104+
$ docker run -d --name C8O \
105105
--add-host host.docker.internal:host-gateway \
106106
-e JAVA_OPTS="-Dconvertigo.engine.billing.enabled=true \
107107
-Dconvertigo.engine.billing.persistence.jdbc.username=[username for the c8oAnalytics db] \
@@ -117,7 +117,7 @@ If the database runs in another container, connect both containers to the same u
117117
Projects are deployed in the Convertigo workspace, a simple file system directory. You can map the docker container **/workspace** to your physical system by using:
118118

119119
```console
120-
docker run --name C8O -v $(pwd):/workspace -d -p 28080:28080 %%IMAGE%%
120+
$ docker run --name C8O -v $(pwd):/workspace -d -p 28080:28080 %%IMAGE%%
121121
```
122122

123123
You can share the same workspace by all Convertigo containers. In this case, when you deploy a project on a Convertigo container, it will be seen by others. This is the best way to build multi-instance load balanced Convertigo server farms.
@@ -156,15 +156,15 @@ For Kubernetes and Helm deployments, prefer pod-local paths such as `/tmp/conver
156156
Recommended multi-instance example:
157157

158158
```console
159-
docker run --name C8O1 -v /my-shared-workspace:/workspace -d -p 28081:28080 \
159+
$ docker run --name C8O1 -v /my-shared-workspace:/workspace -d -p 28081:28080 \
160160
-e JAVA_OPTS="-Dconvertigo.engine.session.shared_workspace.sync.enabled=true \
161161
-Dconvertigo.engine.cache_manager.filecache.directory=/workspace/cache/server1 \
162162
-Dlog.directory=/workspace/logs/server1" \
163163
%%IMAGE%%
164164
```
165165

166166
```console
167-
docker run --name C8O2 -v /my-shared-workspace:/workspace -d -p 28082:28080 \
167+
$ docker run --name C8O2 -v /my-shared-workspace:/workspace -d -p 28082:28080 \
168168
-e JAVA_OPTS="-Dconvertigo.engine.session.shared_workspace.sync.enabled=true \
169169
-Dconvertigo.engine.cache_manager.filecache.directory=/workspace/cache/server2 \
170170
-Dlog.directory=/workspace/logs/server2" \
@@ -175,18 +175,18 @@ docker run --name C8O2 -v /my-shared-workspace:/workspace -d -p 28082:28080 \
175175

176176
At each container start, the image copies the contents of these workspace directories into the Convertigo web application before Tomcat starts:
177177

178-
- `/workspace/lib/` to `WEB-INF/lib/` for JAR files and their dependencies
179-
- `/workspace/classes/` to `WEB-INF/classes/` for compiled classes and resources
178+
- `/workspace/lib/` to `WEB-INF/lib/` for JAR files and their dependencies
179+
- `/workspace/classes/` to `WEB-INF/classes/` for compiled classes and resources
180180

181181
The directory structure is preserved and overlays the files provided by the image; it does not remove existing web-application files. For classes, keep the package directory structure below `/workspace/classes/` (for example, `com/example/MyClass.class`). Restart or recreate the container after adding or updating these files. To remove an injected file, remove it from the workspace and recreate the container, since a restart does not delete files already copied into the web application.
182182

183183
For example, prepare a workspace and mount it into the container:
184184

185185
```console
186-
mkdir -p workspace/lib workspace/classes/com/example
187-
cp my-driver.jar workspace/lib/
188-
cp build/classes/java/main/com/example/MyClass.class workspace/classes/com/example/
189-
docker run --name C8O -v "$(pwd)/workspace:/workspace" -d -p 28080:28080 %%IMAGE%%
186+
$ mkdir -p workspace/lib workspace/classes/com/example
187+
$ cp my-driver.jar workspace/lib/
188+
$ cp build/classes/java/main/com/example/MyClass.class workspace/classes/com/example/
189+
$ docker run --name C8O -v "$(pwd)/workspace:/workspace" -d -p 28080:28080 %%IMAGE%%
190190
```
191191

192192
This is also useful when iterating on a custom Java extension without building a derived Convertigo image. Ensure that the mounted workspace is writable by the container at startup.
@@ -198,17 +198,19 @@ To trust private root or intermediate certificate authorities, mount a dedicated
198198
For example:
199199

200200
```console
201-
mkdir -p custom-ca
202-
cp company-root-ca.pem custom-ca/
203-
cp partner-intermediate-ca.crt custom-ca/
204-
docker run --name C8O \
201+
$ mkdir -p custom-ca
202+
$ cp company-root-ca.pem custom-ca/
203+
$ cp partner-intermediate-ca.crt custom-ca/
204+
$ docker run --name C8O \
205205
-v "$(pwd)/workspace:/workspace" \
206206
-v "$(pwd)/custom-ca:/cacerts:ro" \
207207
-d -p 28080:28080 convertigo
208208
```
209209

210210
Keep this directory outside the Convertigo workspace and mount it read-only. In Kubernetes, mount a ConfigMap or Secret read-only at `/cacerts`. The image only reads custom CAs from this dedicated mount; files in `/workspace` are not considered.
211211

212+
`/cacerts` is a convenience to add private or corporate certificate authorities to the standard JDK trust anchors, typically behind a corporate proxy performing TLS inspection, without modifying the JDK installation (the container may run as an arbitrary non-root user). Users who need full control can still provide their own complete JVM truststore through the standard Java configuration, for example `-e JAVA_OPTS="-Djavax.net.ssl.trustStore=/path/to/truststore -Djavax.net.ssl.trustStorePassword=..."`: when `javax.net.ssl.trustStore` is already set in `JAVA_OPTS`, the image keeps that configuration unchanged and ignores `/cacerts` (an informational message is logged at startup).
213+
212214
The standard JDK certificate authorities are retained. The generated truststore is not persisted: restart or recreate the container after adding, replacing, or removing a certificate. If a file cannot be imported, the image logs a warning and continues to start with the certificates successfully imported so far.
213215

214216
This configuration is independent from the Tomcat HTTPS server certificate configured through `/ssl`.
@@ -249,7 +251,7 @@ These accounts can be configured through the **administration console** and save
249251
You can change the default administration account :
250252

251253
```console
252-
docker run -d --name C8O -e CONVERTIGO_ADMIN_USER=administrator -e CONVERTIGO_ADMIN_PASSWORD=s3cret -p 28080:28080 %%IMAGE%%
254+
$ docker run -d --name C8O -e CONVERTIGO_ADMIN_USER=administrator -e CONVERTIGO_ADMIN_PASSWORD=s3cret -p 28080:28080 %%IMAGE%%
253255
```
254256

255257
These variables are startup conveniences. If `/workspace/configuration/engine.properties` already defines `admin.username` or `admin.password`, the matching environment variable is ignored to preserve the persisted configuration.
@@ -259,7 +261,7 @@ These variables are startup conveniences. If `/workspace/configuration/engine.pr
259261
You can allow anonymous access to `/convertigo/dashboard/` by setting:
260262

261263
```console
262-
docker run -d --name C8O -e CONVERTIGO_ANONYMOUS_DASHBOARD=true -p 28080:28080 %%IMAGE%%
264+
$ docker run -d --name C8O -e CONVERTIGO_ANONYMOUS_DASHBOARD=true -p 28080:28080 %%IMAGE%%
263265
```
264266

265267
If `/workspace/configuration/engine.properties` already defines `anonymous.dashboard`, `CONVERTIGO_ANONYMOUS_DASHBOARD` is ignored.
@@ -269,7 +271,7 @@ If `/workspace/configuration/engine.properties` already defines `anonymous.dashb
269271
For production CORS configuration, you can replace the default `cors.policy = =Origin` behavior with an explicit list of public origins:
270272

271273
```console
272-
docker run -d --name C8O -e PUBLIC_DOMAINS="https://app.example.com#https://admin.example.com" -p 28080:28080 %%IMAGE%%
274+
$ docker run -d --name C8O -e PUBLIC_DOMAINS="https://app.example.com#https://admin.example.com" -p 28080:28080 %%IMAGE%%
273275
```
274276

275277
Values must match the full browser `Origin` header, including scheme and optional port. Multiple origins are separated with `#`. If `/workspace/configuration/engine.properties` already defines `cors.policy`, `PUBLIC_DOMAINS` is ignored. Use `JAVA_OPTS=-Dconvertigo.engine.cors.policy=...` only when you need an explicit JVM-level override.
@@ -289,13 +291,13 @@ If you have an existing certificate and a private key, you can put them in **PEM
289291
- `chain.pem` : the optional chain of certificates not included in `cert.pem` using the PEM format
290292

291293
```console
292-
docker run -d --name C8O -v <my SSL folder>:/ssl -p 28443:28443 %%IMAGE%%
294+
$ docker run -d --name C8O -v <my SSL folder>:/ssl -p 28443:28443 %%IMAGE%%
293295
```
294296

295297
If you want to expose both **HTTP** and **HTTPS** you can expose both **ports**:
296298

297299
```console
298-
docker run -d --name C8O -v <my SSL folder>:/ssl -p 28080:28080 -p 28443:28443 %%IMAGE%%
300+
$ docker run -d --name C8O -v <my SSL folder>:/ssl -p 28080:28080 -p 28443:28443 %%IMAGE%%
299301
```
300302

301303
### Provide existing certificate using environment variables
@@ -310,7 +312,7 @@ If you cannot mount a volume, you can probably add environment variables of prev
310312
SSL_KEY_B64=$(base64 key.pem)
311313
SSL_CERT_B64=$(base64 cert.pem)
312314
SSL_CHAIN_B64=$(base64 chain.pem)
313-
docker run -d --name C8O -e SSL_KEY_B64="$SSL_KEY_B64" -e SSL_CERT_B64="$SSL_CERT_B64" -e SSL_CHAIN_B64="$SSL_CHAIN_B64" -p 28443:28443 %%IMAGE%%
315+
$ docker run -d --name C8O -e SSL_KEY_B64="$SSL_KEY_B64" -e SSL_CERT_B64="$SSL_CERT_B64" -e SSL_CHAIN_B64="$SSL_CHAIN_B64" -p 28443:28443 %%IMAGE%%
314316
```
315317

316318
### Generate and use a self-signed certificate
@@ -320,13 +322,13 @@ If you don't have certificate file, you can dynamically generate one for the fir
320322
Use the `SSL_SELFSIGNED` environment variable to indicate for what domain you want generate certificate.
321323

322324
```console
323-
docker run -d --name C8O -e SSL_SELFSIGNED=mycomputer -p 28443:28443 %%IMAGE%%
325+
$ docker run -d --name C8O -e SSL_SELFSIGNED=mycomputer -p 28443:28443 %%IMAGE%%
324326
```
325327

326328
Generated files can be retrieved if the `/ssl` mount point is configured on folder without `cert.pem` nor `key.pem`.
327329

328330
```console
329-
docker run -d --name C8O -v <my empty SSL folder>:/ssl -e SSL_SELFSIGNED=mycomputer -p 28443:28443 %%IMAGE%%
331+
$ docker run -d --name C8O -v <my empty SSL folder>:/ssl -e SSL_SELFSIGNED=mycomputer -p 28443:28443 %%IMAGE%%
330332
```
331333

332334
## `JAVA_OPTS` Environment variable
@@ -336,7 +338,7 @@ Convertigo is based on a **Java** process with default **JVM** options. You can
336338
Add any **Java JVM** options such as -D[something] :
337339

338340
```console
339-
docker run -d --name C8O -e JAVA_OPTS="-DjvmRoute=server1" -p 28080:28080 %%IMAGE%%
341+
$ docker run -d --name C8O -e JAVA_OPTS="-DjvmRoute=server1" -p 28080:28080 %%IMAGE%%
340342
```
341343

342344
[Here the list of convertigo specific properties](https://www.convertigo.com/documentation/latest/operating-guide/appendixes/#list-of-convertigo-java-system-properties) (don't forget the `-Dconvertigo.engine.` prefix).
@@ -348,7 +350,7 @@ Convertigo generates many logs in a **engine.log** file that can be consulted vi
348350
Log file still exists until you add the `LOG_FILE=false` environment variable :
349351

350352
```console
351-
docker run -d --name C8O -e LOG_STDOUT=true -e LOG_FILE=false -p 28080:28080 %%IMAGE%%
353+
$ docker run -d --name C8O -e LOG_STDOUT=true -e LOG_FILE=false -p 28080:28080 %%IMAGE%%
352354
```
353355

354356
## `JXMX` Environment variable
@@ -360,7 +362,7 @@ When `JXMX` is not set, the image uses `-XX:MaxRAMPercentage=80` instead.
360362
For example:
361363

362364
```console
363-
docker run -d --name C8O -e JXMX="4096" -p 28080:28080 %%IMAGE%%
365+
$ docker run -d --name C8O -e JXMX="4096" -p 28080:28080 %%IMAGE%%
364366
```
365367

366368
## `COOKIE_PATH` Environment variable
@@ -370,7 +372,7 @@ Convertigo generates a `JSESSIONID` to maintain the user session and stores in a
370372
The default `COOKIE_PATH` value is `/` and can be defined :
371373

372374
```console
373-
docker run -d --name C8O -e COOKIE_PATH="/convertigo" -p 28080:28080 %%IMAGE%%
375+
$ docker run -d --name C8O -e COOKIE_PATH="/convertigo" -p 28080:28080 %%IMAGE%%
374376
```
375377

376378
## `COOKIE_SECURE` Environment variable
@@ -382,7 +384,7 @@ The Secure flag can be enabled by setting the `COOKIE_SECURE` environment variab
382384
The default `COOKIE_SECURE` value is `false` and can be defined :
383385

384386
```console
385-
docker run -d --name C8O -e COOKIE_SECURE="true" -p 28080:28080 %%IMAGE%%
387+
$ docker run -d --name C8O -e COOKIE_SECURE="true" -p 28080:28080 %%IMAGE%%
386388
```
387389

388390
**Note :** if you have set the **SSL** configuration and you access the **HTTPS 28443** port, cookies are automatically `Secure`.
@@ -394,7 +396,7 @@ Allow to configure the **SameSite** parameter for generated cookies. Can be empt
394396
The default `COOKIE_SAMESITE` value is **empty** and can be defined this way:
395397

396398
```console
397-
docker run -d name C8O -e COOKIE_SAMESITE=lax -p 28080:28080 %%IMAGE%%
399+
$ docker run -d --name C8O -e COOKIE_SAMESITE=lax -p 28080:28080 %%IMAGE%%
398400
```
399401

400402
## `SESSION_TIMEOUT` Environment variable
@@ -404,7 +406,7 @@ Allow to configure the default Tomcat **session-timeout** in minutes. This value
404406
The default `SESSION_TIMEOUT` value is **30** and can be defined this way:
405407

406408
```console
407-
docker run -d name C8O -e SESSION_TIMEOUT=5 -p 28080:28080 %%IMAGE%%
409+
$ docker run -d --name C8O -e SESSION_TIMEOUT=5 -p 28080:28080 %%IMAGE%%
408410
```
409411

410412
## `DISABLE_SUDO` Environment variable
@@ -414,7 +416,7 @@ The image includes **sudo** command line, configured to allow the **convertigo**
414416
The default `DISABLE_SUDO` value is **empty** and can be defined this way:
415417

416418
```console
417-
docker run -d name C8O -e DISABLE_SUDO=true -p 28080:28080 %%IMAGE%%
419+
$ docker run -d --name C8O -e DISABLE_SUDO=true -p 28080:28080 %%IMAGE%%
418420
```
419421

420422
## `ENABLE_JDWP_DEBUG` Environment variable
@@ -424,7 +426,7 @@ Convertigo operates using the JVM (Java Virtual Machine). To enable remote debug
424426
The default `ENABLE_JDWP_DEBUG` value is **false** and can be defined this way:
425427

426428
```console
427-
docker run -d --name C8O -e ENABLE_JDWP_DEBUG=true -p 28080:28080 -p 8000:8000 %%IMAGE%%
429+
$ docker run -d --name C8O -e ENABLE_JDWP_DEBUG=true -p 28080:28080 -p 8000:8000 %%IMAGE%%
428430
```
429431

430432
Do not expose port 8000 outside a trusted development network.
@@ -434,10 +436,10 @@ Do not expose port 8000 outside a trusted development network.
434436
You can use this [README](https://github.com/convertigo/docker/tree/compose) to run a complete Convertigo Low Code server.
435437

436438
```console
437-
mkdir convertigo
438-
cd convertigo
439-
curl -sL https://github.com/convertigo/docker/archive/refs/heads/compose.tar.gz | tar xvz --strip-components=1
440-
docker compose up -d
439+
$ mkdir convertigo
440+
$ cd convertigo
441+
$ curl -sL https://github.com/convertigo/docker/archive/refs/heads/compose.tar.gz | tar xvz --strip-components=1
442+
$ docker compose up -d
441443
```
442444

443445
## Convertigo Helm chart

0 commit comments

Comments
 (0)