tree: 72b6229843663c16bb6a8508c9e5ea411e7bf82c [path history] [tgz]
  1. docker-configuration/
  2. sample-configuration/
  3. src/
  4. pom.xml
  5. README.md
server/apps/memory-app/README.md

James Memory server

In order to build both the ZIP and docker packaging, run:

mvn clean install -DskipTests

ZIP distribution

Available in target directory, the ZIP include detailed instructions.

Docker distribution

To import the image locally:

docker image load -i target/jib-image.tar

Then run it:

docker run apache/james:memory-latest

For security reasons you are required to generate your own keystore, that you can mount into the container via a volume:

keytool -genkey -alias james -keyalg RSA -keystore keystore
docker run -v $PWD/keystore:/root/conf/keystore apache/james:memory-latest

In the case of quick start James without manually creating a keystore (e.g. for development), James memory server will auto-generate keystore file with the default setting that is declared in jmap.properties (tls.keystoreURL, tls.secret) Hence just run docker command:

docker run apache/james:memory-latest

Use the JAVA_TOOL_OPTIONS environment option to pass extra JVM flags. For instance:

docker run -e "JAVA_TOOL_OPTIONS=-Xmx500m -Xms500m" apache/james:memory-latest

Glowroot APM is packaged as part of the docker distribution to easily enable valuable performances insights. Disabled by default, its java agent can easily be enabled:

docker run -e "JAVA_TOOL_OPTIONS=-javaagent:/root/glowroot.jar" apache/james:memory-latest

The CLI can easily be used:

docker exec CONTAINER-ID james-cli ListDomains

Note that you can create a domain via an environment variable. This domain will be created upon James start:

--environment DOMAIN=domain.tld