The eXo Platform Community edition Docker image support HSQLDB
(for testing) and MySQL
(for production).
Image | JDK | eXo Platform |
---|---|---|
exoplatform/exo-community:6.5 | 17 | 6.5 Community edition |
exoplatform/exo-community:6.4 | 17 | 6.4 Community edition |
exoplatform/exo-community:6.3 | 11 | 6.3 Community edition |
exoplatform/exo-community:5.3 | 8 | 5.3 Community edition |
exoplatform/exo-community:5.2 | 8 | 5.2 Community edition |
exoplatform/exo-community:5.1 | 8 | 5.1 Community edition |
exoplatform/exo-community:5.0 | 8 | 5.0 Community edition |
exoplatform/exo-community:4.4 | 8 | 4.4 Community edition |
exoplatform/exo-community:4.3 | 8 | 4.3 Community edition |
exoplatform/exo-community:4.2 | 7 | 4.2 Community edition |
exoplatform/exo-community:4.1 | 7 | 4.1 Community edition |
The image is compatible with the following databases system : MySQL
(default) / HSQLDB
/ PostgreSQL
Follow the quick start guide
Follow the advanced guide
Configuration options are available here
You have to specify the following environment variables to configure eXo Platform (see upper section for more parameters and details) :
docker run -d \
-p 8080:8080 \
-e EXO_PROXY_VHOST="my.public-facing-hostname.org" \
exoplatform/exo-community
You can also use Docker Compose (see the provided docker-compose.yml
file as an example).
You have to specify the following environment variables to point to an external MySQL database server (see upper section for more parameters and details) :
docker run -d \
-p 8080:8080 \
-e EXO_DB_TYPE="mysql" \
-e EXO_DB_HOST="mysql.server-hostname.org" \
-e EXO_DB_USER="exo" \
-e EXO_DB_PASSWORD="my-secret-pw" \
exoplatform/exo-community
You can also use Docker Compose (see the provided docker-compose.yml
file as an example).
docker logs --follow <CONTAINER_NAME>
To install add-ons in the container, provide a commas separated list of add-ons you want to install in a EXO_ADDONS_LIST
environment variable to the container:
docker run -d \
-p 8080:8080 \
-e EXO_ADDONS_LIST="exo-tasks:3.4.x-SNAPSHOT" \
exoplatform/exo-community
INFO: the provided add-ons list will be installed in the container during the container creation.
In a running container execute the following command:
docker exec <CONTAINER_NAME> /opt/exo/addon list
In a running container execute the following command:
docker exec <CONTAINER_NAME> /opt/exo/addon list --installed
All previously mentioned environment variables can be defined in a standard Docker way with -e ENV_VARIABLE="value"
parameters :
docker run -d \
-p 8080:8080 \
-e EXO_JVM_SIZE_MAX="8g" \
exoplatform/exo-community
Some eXo configuration properties can also be defined in an exo.properties
file (starting from exoplatform/exo-community:5.1 version). In this case, just create this file and bind mount it in the Docker container :
docker run -d \
-p 8080:8080 \
-v /absolute/path/to/exo.properties:/etc/exo/exo.properties:ro \
exoplatform/exo-community
The simplest way to build this image is to use default values :
docker build -t exoplatform/exo-community .
This will produce an image with the current eXo Platform Community edition.
The build can be customized with the following arguments :
ARGUMENT NAME | MANDATORY | DEFAULT VALUE | DESCRIPTION |
---|---|---|---|
ADDONS | NO | exo-chat exo-tasks:1.1.0 exo-jdbc-driver-mysql:1.1.0 |
a space separated list of add-ons to install (default: exo-jdbc-driver-mysql:1.1.0) |
Starting with eXo Community 6.3
from the github container registry, eXo Community docker images will be signed with [cosign] (https://github.com/sigstore/cosign) tool.
In order to verify the signature of the eXo Community docker image, please install the "cosign" command line tool. Then please follow these instructions:
- Save the following public key to
cosign.pub
file:
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEgYKR7SoWbXjHya1Bc2Ih3kX8wv8w
Y7StaVsRXzbcIL0jECiKzKarPxQQ69uVmZ6c0JEVQhBeN9w3pr75D4o2/A==
-----END PUBLIC KEY-----
- Execute the following command:
cosign verify --key cosign.pub ghcr.io/exo-docker/exo-community:<tag>
Example:
cosign verify --key cosign.pub ghcr.io/exo-docker/exo-community:6.4
Output:
[{"critical":{"identity":{"docker-reference":"ghcr.io/exo-docker/exo-community"},"image":{"docker-manifest-digest":"sha256:906afd0b16900e9ba...."},"type":"cosign container image signature"},"optional":{"Bundle":{"SignedEntryTimestamp":"MEQCIGtU3...","Payload":{"body":"eyJhcGlWZX....","integratedTime":1689844562,"logIndex":28114552,"logID":"c0d23d6..."}}}}]