WARNING: JAMES-3591 Cassandra is not made to store large binary content, its use will be suboptimal compared to alternatives (namely S3 compatible BlobStores backed by for instance S3, MinIO or Ozone)
An usual compilation using maven will produce two artifacts into server/container/guice/cassandra-guice/target directory:
You can for example run in the base of this git repository:
mvn clean install
To run james, you have to create a directory containing required configuration files.
James requires the configuration to be in a subfolder of working directory that is called conf. You can get a sample directory for configuration from server/apps/cassandra-app/sample-configuration. You might need to adapt it to your needs.
You also need to generate a keystore in your conf folder with the following command:
$ keytool -genkey -alias james -keyalg RSA -keystore conf/keystore
You need to have a Cassandra and an OpenSearch instance running. You can either install the servers or launch them via docker:
$ docker run -d -p 9042:9042 --name=cassandra cassandra:4.1.3
$ docker run -d --network james -p 9200:9200 --name=opensearch --env 'discovery.type=single-node' opensearchproject/opensearch:2.1.0
Once everything is set up, you just have to run the jar with:
$ java -Dworking.directory=. -jar target/james-server-cassandra-guice.jar