Sign inSign up

exoplatform/chat-server

By exoplatform

Updated 9 days ago

Standalone chat server

Image
1

100K+

exoplatform/chat-server repository overview

Standalone chat server Docker Image

ImageChat server versionMongoDb Version
latest3.3.x4.4
3.2_latest3.2.x4.2
3.1_latest3.1.x4.0
3.0_latest3.0.x4.0
2.3_latest2.3.x4.0
2.2_latest2.2.x4.0
2.1_latest2.1.x3.6
2.0_latest2.0.x3.4

This image is only for the chat server, you must have an external mongo database running.

Configuration

Chat
VARIABLEMANDATORYDEFAULT_VALUEDESCRIPTION
CHAT_HTTP_PORTNO8080The server http port to bind to
CHAT_SERVER_STOP_PORTNO8005The server port used to stop it
CHAT_PORTAL_PAGENO/portal/intranet/chatThe page to link on the notifications
CHAT_PASSPHRASEYESThe chat passphrase. The same value must be used by the eXo Platform server
CHAT_CRON_NOTIF_CLEANUPNO0 0/60 * * * ?The cron expression to configure the notification cleanup
CHAT_READ_DAYSNO30The messages older then CHAT_READ_DAYS days will not be displayed on a room
CHAT_READ_TOTAL_JSONNO200The maximum number of messages to retrieve
CHAT_DB_TIMEOUTNO60the number of seconds to wait for mongodb availability before cancelling Chat Server startup
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_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)
MongoDB
VARIABLEMANDATORYDEFAULT_VALUEDESCRIPTION
CHAT_MONGO_DB_HOSTNOmongoThe mongo db database host name
CHAT_MONGO_DB_PORTNO27017The port to connect on mongodb server
CHAT_MONGO_DB_NAMENOchatThe mongodb database name to use for eXo Chat
CHAT_MONGO_DB_USERNOthe username to use to connect to the mongodb database (no authentification configured by default)
CHAT_MONGO_DB_PASSWORDNOthe password to use to connect to the mongodb database (no authentification configured by default)
SMTP
VARIABLEMANDATORYDEFAULT_VALUEDESCRIPTION
CHAT_SMTP_HOSTNOlocalhostSMTP Server hostname
CHAT_SMTP_PORTNO25SMTP Server port
CHAT_SMTP_USERNO-authentication username for smtp server (if needed)
CHAT_SMTP_PASSWORDNO-authentication password for smtp server (if needed)
CHAT_SMTP_FROMNO[email protected]"from" field of emails sent by the chat server
CHAT_SMTP_STARTTLS_ENABLEDNOfalsetrue to enable the secure (TLS) SMTP. See RFC 3207.
CHAT_SMTP_SSL_ENABLEDNOfalsetrue to enable the secure (SSL) SMTP.
JMX

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

VARIABLEMANDATORYDEFAULT VALUEDESCRIPTION
EXO_JMX_ENABLEDNOfalseactivate 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-a username for JMX connection (if no username is provided, the JMX access is unprotected)
EXO_JMX_PASSWORDNO-a password for JMX connection (if no password is specified a random one will be generated and stored in /etc/chat-server/jmxremote.password)

With EXO_JMX_ENABLED=true and the default parameters you can connect to JMX with service:jmx:rmi://localhost:10002/jndi/rmi://localhost:10001/jmxrmi without authentication.

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
Log
VARIABLEMANDATORYDEFAULT_VALUEDESCRIPTION
EXO_LOGS_DISPLAY_CONSOLENOfalseDisable logs on console

Usage

docker run -ti -p 8080:8080 -e CHAT_PASSPHRASE=changeme --link mongo:mongo exoplatform/chat-server:latest

A sample Docker Compose file is also available to start eXo Chat Server + MongoDB ( https://github.com/exo-docker/exo-chat-server/blob/master/docker-compose.yml ) :

docker-compose -f ./docker-compose.yml up

Known limitation

  • The meeting notes can't be sent if the Chat Server can reach the eXo Platform server via a public address

Tag summary

Content type

Image

Digest

sha256:15fc9b6d4

Size

370.8 MB

Last updated

3 months ago

docker pull exoplatform/chat-server