Sign inSign up

exoplatform/exo

By exoplatform

•Updated about 1 month ago

eXo Platform inside a Docker container. ( Deprecated starting from April 11th, 2025 )

Image
Integration & delivery
Web servers
8

100K+

exoplatform/exo repository overview

⁠eXo Platform Docker image

Docker Stars - Docker Pulls

ImageJDKeXo Platform
exoplatform/exo:6.5_latest176.5.x Enterprise edition
exoplatform/exo:6.4_latest176.4.x Enterprise edition
exoplatform/exo:6.3_latest116.3.x Enterprise edition
exoplatform/exo:6.2_latest116.2.x Enterprise edition
exoplatform/exo:6.1_latest116.1.x Enterprise edition
exoplatform/exo:6.0_latest116.0.x Enterprise edition
exoplatform/exo:5.3_latest85.3.x Enterprise edition
exoplatform/exo:5.2_latest (changelog⁠)85.2.x Enterprise edition
exoplatform/exo:5.1_latest (changelog⁠)85.1.x Enterprise edition
exoplatform/exo:5.0_latest (changelog⁠)85.0.x Enterprise edition
exoplatform/exo:4.4_latest (changelog⁠)84.4.x Enterprise edition
exoplatform/exo:4.3_latest84.3.x Enterprise edition

The image is compatible with the following databases system : MySQL (default) / HSQLDB / PostgreSQL

⁠Configuration options

All the following options can be defined with standard Docker -e parameter

docker run -e MY_ENV_VARIABLE="value" ... exoplatform/exo

or Docker Compose way of defining environment variables

version: '2'
services:
...
  exo:
    image: exoplatform/exo
    environment:
...
      EXO_ADDONS_LIST: exo-chat
      EXO_PATCHES_LIST:
      EXO_PATCHES_CATALOG_URL:
      EXO_ES_HOST: search
...
⁠Add-ons

Some add-ons are already installed in eXo image but you can install other one or remove some of the pre-installed one :

VARIABLEMANDATORYDEFAULT VALUEDESCRIPTION
EXO_ADDONS_LISTNO-commas separated list of add-ons to install (ex: exo-answers,exo-skype:1.0.x-SNAPSHOT)
EXO_ADDONS_REMOVE_LISTNO-commas separated list of add-ons to uninstall (ex: exo-chat) (since: 4.4.2_3)
EXO_ADDONS_CATALOG_URLNO-The url of a valid eXo Catalog
EXO_ADDONS_CONFLICT_MODENO-decision to make in case of file conflicts (overwrite, ignore or fail)
EXO_ADDONS_NOCOMPAT_MODENOfalsedecision to allow to install incompatible addon
EXO_ADDONS_INSTALL_TIMEOUTNO120timeout to install an addon (in seconds)
⁠Patches

Patches can be deployed in eXo image :

VARIABLEMANDATORYDEFAULT VALUEDESCRIPTION
EXO_PATCHES_LISTNO-commas separated list of patches to install (ex: patch-4.4.4:1,patch-4.4.4:2)
EXO_PATCHES_CATALOG_URLYES-The url of a valid eXo Patches Catalog (mandatory if something is specified in EXO_PATCHES_LIST)
⁠JVM

The standard eXo Platform environment variables can be used :

VARIABLEMANDATORYDEFAULT VALUEDESCRIPTION
EXO_JVM_SIZE_MINNO512mspecify the jvm minimum allocated memory size (-Xms parameter)
EXO_JVM_SIZE_MAXNO3gspecify the jvm maximum allocated memory size (-Xmx parameter)
EXO_JVM_PERMSIZE_MAXNO256m(Java 7) specify the jvm maximum allocated memory to Permgen (-XX:MaxPermSize parameter)
EXO_JVM_METASPACE_SIZE_MAXNO512m(Java 8+) specify the jvm maximum allocated memory to MetaSpace (-XX:MaxMetaspaceSize parameter)
EXO_JVM_USER_LANGUAGENOenspecify the jvm locale for langage (-Duser.language parameter)
EXO_JVM_USER_REGIONNOUSspecify the jvm local for region (-Duser.region parameter)
EXO_JVM_LOG_GC_ENABLEDNOfalseactivate the JVM GC log file generation (location: $EXO_LOG_DIR/platform-gc.log)

INFO: This list is not exhaustive (see eXo Platform documentation or {EXO_HOME}/bin/setenv.sh for more parameters)

⁠Frontend proxy

The following environment variables must be passed to the container to configure Tomcat proxy settings:

VARIABLEMANDATORYDEFAULT VALUEDESCRIPTION
EXO_PROXY_VHOSTNOlocalhostspecify the virtual host name to reach eXo Platform
EXO_PROXY_PORTNO-which port to use on the proxy server ? (if empty it will automatically defined regarding EXO_PROXY_SSL value : true => 443 / false => 80)
EXO_PROXY_SSLNOtrueis ssl activated on the proxy server ? (true / false)
⁠Tomcat

The following environment variables can be passed to the container to configure Tomcat settings

VARIABLEMANDATORYDEFAULT VALUEDESCRIPTION
EXO_HTTP_THREAD_MAXNO200maximum number of threads in the tomcat http connector
EXO_HTTP_THREAD_MINNO10minimum number of threads ready in the tomcat http connector
EXO_ACCESS_LOG_ENABLEDNOfalseactivate Tomcat access log with combine format and a daily log file rotation
EXO_GZIP_ENABLEDNOtrueactivate Tomcat Gzip compression for assets mimetypes
EXO_CONNECTION_TIMEOUTNO20000Tomcat Connection timeout
EXO_SESSION_TIMEOUTNO30Tomcat session timeout (minutes)
⁠Valves and Listeners

A file containing the list of valves and listeners can be attached to the container in the path {{/etc/exo/host.yml}}. If a file is specified, the default valves and listeners configuration will be overridden.

The file format is :

components:
  - type: Valve
    className: org.acme.myvalves.WithoutAttributes
  - type: Valve
    className: org.acme.myvalves.WithAttributes
    attributes:
      - name: param1
        value: value1
      - name: param2
        value: value2
  - type: Listener
    className: org.acme.mylistener.WthAttributes
    attributes:
      - name: param1
        value: value1
      - name: param2
        value: value2
⁠Data on disk

The following environment variables must be passed to the container in order to work :

VARIABLEMANDATORYDEFAULT VALUEDESCRIPTION
EXO_DATA_DIRNO/srv/exothe directory to store eXo Platform data
EXO_JCR_STORAGE_DIRNO${EXO_DATA_DIR}/jcr/valuesthe directory to store eXo Platform JCR values data
EXO_JCR_FS_STORAGE_ENABLEDNODefault value of eXo ServerWhether to store JCR Binary files in RDBMS or File system. Possible values: true (=FS) OR false (=DB)
EXO_FILE_STORAGE_DIRNO${EXO_DATA_DIR}/filesthe directory to store eXo Platform data
EXO_FILE_STORAGE_TYPENODefault value of eXo ServerWhether to store Files API Binary files in RDBMS or File system. Possible values: rdbms OR fs
EXO_FILE_STORAGE_RETENTIONNO30the number of days to keep deleted files on disk before definitively remove it from the disk
EXO_UPLOAD_MAX_FILE_SIZENO200maximum authorized size for file upload in MB.
EXO_FILE_UMASKNO0022the umask used for files generated by eXo
⁠Database

The following environment variables must be passed to the container in order to work :

VARIABLEMANDATORYDEFAULT VALUEDESCRIPTION
EXO_DB_TYPENOmysqlmysql / hsqldb / pgsql / ora
EXO_DB_HOSTNOmysqlthe host to connect to the database server
EXO_DB_PORTNO3306the port to connect to the database server
EXO_DB_NAMENOexothe name of the database / schema to use
EXO_DB_USERNOexothe username to connect to the database
EXO_DB_PASSWORDYES-the password to connect to the database
EXO_DB_POOL_IDM_INIT_SIZENO5the init size of IDM datasource pool
EXO_DB_POOL_IDM_MAX_SIZENO20the max size of IDM datasource pool
EXO_DB_POOL_JCR_INIT_SIZENO5the init size of JCR datasource pool
EXO_DB_POOL_JCR_MAX_SIZENO20the max size of JCR datasource pool
EXO_DB_POOL_JPA_INIT_SIZENO5the init size of JPA datasource pool
EXO_DB_POOL_JPA_MAX_SIZENO20the max size of JPA datasource pool
EXO_DB_TIMEOUTNO60the number of seconds to wait for database availability before cancelling eXo startup
⁠MySQL
VARIABLEMANDATORYDEFAULT VALUEDESCRIPTION
EXO_DB_MYSQL_USE_SSLNOfalseconnecting securely to MySQL using SSL (see MySQL Connector/J documentation for useSSL parameter)
⁠eXo Chat

eXo Chat is available in 2 flavors :

  • embedded (default) : satisfy to most cases, the simplest to install and need only an external MongoDB instance.
  • standalone : if you want to separate eXo and Chat JVM (for high throughput performance or architecture concerns).

A switch is available to enable the standalone mode :

VARIABLEMANDATORYDEFAULT VALUEDESCRIPTION
EXO_CHAT_SERVER_STANDALONENOfalseare you using a standalone version of eXo Chat server
⁠embedded

With eXo Chat embedded mode, the client and server part of the chat feature are installed in eXo container.

  • add-on to install : exo-chat:<VERSION>

The following environment variables should be passed to eXo container to configure eXo Chat :

VARIABLEMANDATORYDEFAULT VALUEDESCRIPTION
EXO_MONGO_HOSTNOmongothe hostname to connect to the mongodb database for eXo Chat
EXO_MONGO_PORTNO27017the port to connect to the mongodb server
EXO_MONGO_USERNAMENO-the username to use to connect to the mongodb database (no authentication configured by default)
EXO_MONGO_PASSWORDNO-the password to use to connect to the mongodb database (no authentication configured by default)
EXO_MONGO_DB_NAMENOchatthe mongodb database name to use for eXo Chat
EXO_MONGO_TIMEOUTNO60the number of seconds to wait for mongodb availability before cancelling eXo startup

INFO: an external MongoDB server should be installed

⁠standalone

With eXo Chat standalone mode, only the client part of the chat feature is installed in eXo container. The server part must be installed separately in another container (doc⁠).

The following environment variables should be passed to eXo container to configure eXo Chat client :

VARIABLEMANDATORYDEFAULT VALUEDESCRIPTION
EXO_CHAT_SERVER_URLNOhttp://localhost:8080the url of the eXo Chat server (only needed for eXo Chat standalone edition)
EXO_CHAT_SERVER_PASSPHRASENOsomething2changethe passphrase to secure the communication with eXo Chat standalone server (only used for eXo Chat standalone edition)
⁠ElasticSearch

The following environment variables should be passed to the container in order to configure the search feature :

VARIABLEMANDATORYDEFAULT VALUEDESCRIPTION
EXO_ES_SCHEMENOhttpthe elasticsearch server scheme to use from the eXo Platform server jvm perspective (http / https).
EXO_ES_HOSTNOlocalhostthe elasticsearch server hostname to use from the eXo Platform server jvm perspective.
EXO_ES_PORTNO9200the elasticsearch server port to use from the eXo Platform server jvm perspective.
EXO_ES_USERNAMENO-the username to connect to the elasticsearch server (if authentication is activated on the external elasticsearch).
EXO_ES_PASSWORDNO-the password to connect to the elasticsearch server (if authentication is activated on the external elasticsearch).
EXO_ES_INDEX_REPLICA_NBNO0the number of replicat for elasticsearch indexes (leave 0 if you don't have an elasticsearch cluster).
EXO_ES_INDEX_SHARD_NBNO0the number of shard for elasticsearch indexes.
EXO_ES_TIMEOUTNO60the number of seconds to wait for elasticsearch availability before cancelling eXo startup
⁠LDAP / Active Directory

The following environment variables should be passed to the container in order to configure the ldap connection pool :

VARIABLEMANDATORYDEFAULT VALUEDESCRIPTION
EXO_LDAP_POOL_DEBUGNO-the level of debug output to produce. Valid values are "fine" (trace connection creation and removal) and "all" (all debugging information).
EXO_LDAP_POOL_TIMEOUTNO60000the number of milliseconds that an idle connection may remain in the pool without being closed and removed from the pool.
EXO_LDAP_POOL_MAX_SIZENO100the maximum number of connections per connection identity that can be maintained concurrently.
⁠Mail

The following environment variables should be passed to the container in order to configure the mail server configuration to use :

VARIABLEMANDATORYDEFAULT VALUEDESCRIPTION
EXO_MAIL_FROMNO[email protected]"from" field of emails sent by eXo platform
EXO_MAIL_SMTP_HOSTNOlocalhostSMTP Server hostname
EXO_MAIL_SMTP_PORTNO25SMTP Server port
EXO_MAIL_SMTP_STARTTLSNOfalsetrue to enable the secure (TLS) SMTP. See RFC 3207.
EXO_MAIL_SMTP_USERNAMENO-authentication username for smtp server (if needed)
EXO_MAIL_SMTP_PASSWORDNO-authentication password for smtp server (if needed)
EXO_SMTP_SSL_ENABLEDNOfalsetrue to enable SSL connection
EXO_MAIL_SSL_SOCKETFACTORY_PORTNO${EXO_MAIL_SMTP_PORT}ssl socketfactory port (default smtp port)
EXO_SMTP_SSL_PROTOCOLSNO-tls version for smtp server (if needed)
⁠JMX

The following environment variables should be passed to the container in order to configure JMX :

VARIABLEMANDATORYDEFAULT VALUEDESCRIPTION
EXO_JMX_ENABLEDNOtrueactivate JMX listener
EXO_JMX_RMI_REGISTRY_PORTNO10001JMX RMI Registry port
EXO_JMX_RMI_SERVER_PORTNO10002JMX RMI Server port
EXO_JMX_RMI_SERVER_HOSTNAMENOlocalhostJMX RMI Server hostname
EXO_JMX_USERNAMENO-

Tag summary

Content type

Image

Digest

sha256:0901159bd…

Size

795.1 MB

Last updated

about 1 month ago

docker pull exoplatform/exo