This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit dd030ff8047fe14f8e4c21b9463c31f3bc5e136c Author: Benoit Tellier <btell...@linagora.com> AuthorDate: Sat May 29 14:28:11 2021 +0700 JAMES-3261 Link projects specific READMEs within the main README. This reduces noise. --- README.adoc | 176 ++---------------------------------------------------------- 1 file changed, 4 insertions(+), 172 deletions(-) diff --git a/README.adoc b/README.adoc index 9e4baf6..1de2bee 100644 --- a/README.adoc +++ b/README.adoc @@ -144,180 +144,12 @@ If you are using a a fresh installation of Docker, your DOCKER_HOST should be un This feature is available for three configurations : - * link:#run-james-with-guice-%2Dcassandra-%2Drabbitmq-%2Ds3-%2Delasticsearch[Guice + Cassandra + RabbitMQ + S3 + ElasticSearch] - * link:#run-james-with-guice-%2Dcassandra-%2Delasticsearch[Guice + Cassandra + ElasticSearch] - * link:#run-james-with-guice-%2Djpa-%2Dlucene[Guice + JPA + Lucene] + * link:https://github.com/apache/james-project/blob/master/server/container/guice/cassandra-rabbitmq-guice/README.adoc[Guice + Cassandra + RabbitMQ + S3 + ElasticSearch (distributed)] + * link:https://github.com/apache/james-project/blob/master/server/container/guice/cassandra-guice/README.adoc[Guice + Cassandra + ElasticSearch] + * link:https://github.com/apache/james-project/blob/master/server/container/guice/jpa-guice/README.adoc[Guice + JPA + Lucene] + * link:https://github.com/apache/james-project/blob/master/server/container/guice/memory-guice/README.adoc[Guice + Memory (testing)] * link:#run-james-with-spring-%2Djpa[Spring + JPA] - -=== Run James with Guice + Cassandra + RabbitMQ + S3 + ElasticSearch - - -==== Requirements -Built artifacts should be in ./dockerfiles/run/guice/cassandra-rabbitmq/destination folder for cassandra. -If you haven't already: - - $ docker build -t james/project dockerfiles/compilation/java-11 - $ docker run -v $HOME/.m2:/root/.m2 -v $PWD:/origin \ - -v $PWD/dockerfiles/run/guice/cassandra-rabbitmq/destination:/cassandra-rabbitmq/destination \ - -t james/project -s HEAD - - -==== How to ? -You need a running *cassandra* in docker. To achieve this run: - - $ docker run -d --name=cassandra cassandra:3.11.10 - -You need a running *rabbitmq* in docker. To achieve this run: - - $ docker run -d --name=rabbitmq rabbitmq:3.8.1-management - -You need a running *s3* compatible objectstorage in docker. To achieve this run: - - $ docker run -d --env 'REMOTE_MANAGEMENT_DISABLE=1' --env 'SCALITY_ACCESS_KEY_ID=accessKey1' --env 'SCALITY_SECRET_ACCESS_KEY=secretKey1' --name=s3 zenko/cloudserver:8.2.6 - -You need a running *ElasticSearch* in docker. To achieve this run: - - $ docker run -d --name=elasticsearch --env 'discovery.type=single-node' docker.elastic.co/elasticsearch/elasticsearch:7.10.2 - -If you want to handle attachment text extraction before indexing in ElasticSearch (this makes attachments searchable) -and if you want to use all the JMAP search capabilities, you also need to start *Tika*. -See http://james.apache.org/server/config-elasticsearch.html#Tika_Configuration[Tika configuration documentation] for more info. - - $ docker run -d --name=tika apache/tika:1.26 - -We need to provide the key we will use for TLS. For obvious reasons, this is not provided in this git. - -Copy your TLS keys to `run/guice/cassandra-rabbitmq/destination/conf/keystore` or generate it using the following command. The password must be `james72laBalle` to match default configuration. - - $ keytool -genkey -alias james -keyalg RSA -keystore dockerfiles/run/guice/cassandra-rabbitmq/destination/conf/keystore - -Then we need to build james container : - - $ docker build -t james_run dockerfiles/run/guice/cassandra-rabbitmq - -To run this container : - - $ docker run --hostname HOSTNAME -p "25:25" -p 80:80 -p "110:110" -p "143:143" -p "465:465" -p "587:587" -p "993:993" -p "127.0.0.1:8000:8000" --link cassandra:cassandra --link rabbitmq:rabbitmq - --link elasticsearch:elasticsearch --link tika:tika --link s3:s3.docker.test --name james_run -t james_run - -Where : - -- HOSTNAME is the hostname you want to give to your James container. This DNS entry will be used to send mail to your James server. -- link to tika is only needed if you started tika earlier. - -Webadmin port binding is restricted to loopback as users are not authenticated by default on webadmin server. Thus you should avoid exposing it in production. -Note that the above example assumes `127.0.0.1` is your loopback interface for convenience but you should change it if this is not the case on your machine. - -If you want to pass additional options to the underlying java command, you can configure a _JVM_OPTIONS_ env variable, for example add: - - --env JVM_OPTIONS="-Xms256m -Xmx2048m" - -To have log file accessible on a volume, add *-v $PWD/logs:/logs* option to the above command line, where *$PWD/logs* is your local directory to put files in. - -==== Instrumentation -You can use Glowroot to instrumentalize James. The provided guice docker files allow a simple way to do it. -In order to activate Glowroot you need to run the container with the environment variable _GLOWROOT_ACTIVATED_ set to _true_ -and to expose the glowroot instrumentation ui port. - - --env GLOWROOT_ACTIVATED=true -p "4000:4000" - -By default, the Glowroot UI is accessible from every machines in the network as defined in the _destination/admin.json_. -Which you could configure before building the image, if you want to restrict its accessibility to localhost for example. -See the https://github.com/glowroot/glowroot/wiki/Agent-Installation-(with-Embedded-Collector)#user-content-optional-post-installation-steps[Glowroot post installation steps] for more details. - -Or by mapping the 4000 port to the IP of the desired network interface, for example `-p 127.0.0.1:4000:4000`. - - - -=== Run James with Guice + Cassandra + ElasticSearch - - -==== Requirements -Built artifacts should be in ./dockerfiles/run/guice/cassandra/destination folder for cassandra. -If you haven't already: - - $ docker build -t james/project dockerfiles/compilation/java-11 - $ docker run -v $HOME/.m2:/root/.m2 -v $PWD:/origin \ - -v $PWD/dockerfiles/run/guice/cassandra/destination:/cassandra/destination \ - -t james/project -s HEAD - - -==== How to ? -You need a running *cassandra* in docker. To achieve this run: - - $ docker run -d --name=cassandra cassandra:3.11.10 - -You need a running *ElasticSearch* in docker. To achieve this run: - - $ docker run -d --name=elasticsearch --env 'discovery.type=single-node' docker.elastic.co/elasticsearch/elasticsearch:7.10.2 - -If you want to handle attachment text extraction before indexing in ElasticSearch (this makes attachments searchable) -and if you want to use all the JMAP search capabilities, you also need to start *Tika*. -See http://james.apache.org/server/config-elasticsearch.html#Tika_Configuration[Tika configuration documentation] for more info. - - $ docker run -d --name=tika apache/tika:1.24 - -We need to provide the key we will use for TLS. For obvious reasons, this is not provided in this git. - -Copy your TLS keys to `run/guice/cassandra/destination/conf/keystore` or generate it using the following command. The password must be `james72laBalle` to match default configuration. - - $ keytool -genkey -alias james -keyalg RSA -keystore dockerfiles/run/guice/cassandra/destination/conf/keystore - -Then we need to build james container : - - $ docker build -t james_run dockerfiles/run/guice/cassandra - -To run this container : - - $ docker run --hostname HOSTNAME -p "25:25" -p 80:80 -p "110:110" -p "143:143" -p "465:465" -p "587:587" -p "993:993" -p "127.0.0.1:8000:8000" --link cassandra:cassandra --link elasticsearch:elasticsearch --link tika:tika --name james_run -t james_run - -Where : - -- HOSTNAME is the hostname you want to give to your James container. This DNS entry will be used to send mail to your James server. -- link to tika is only needed if you started tika earlier. - -Webadmin port binding is restricted to loopback as users are not authenticated by default on webadmin server. Thus you should avoid exposing it in production. -Note that the above example assumes `127.0.0.1` is your loopback interface for convenience but you should change it if this is not the case on your machine. - -To have log file accessible on a volume, add *-v $PWD/logs:/logs* option to the above command line, where *$PWD/logs* is your local directory to put files in. - -=== Run James with Guice + JPA + Lucene - -==== Requirements -Built artifacts should be in ./dockerfiles/run/guice/jpa/destination folder for jpa. -If you haven't already: - - $ docker build -t james/project dockerfiles/compilation/java-11 - $ docker run -v $HOME/.m2:/root/.m2 -v $PWD:/origin \ - -v $PWD/dockerfiles/run/guice/jpa/destination:/jpa/destination \ - -t james/project -s HEAD - - -==== How to ? -We need to provide the key we will use for TLS. For obvious reasons, this is not provided in this git. - -Copy your TLS keys to `run/guice/jpa/destination/conf/keystore` or generate it using the following command. The password must be `james72laBalle` to match default configuration. - - $ keytool -genkey -alias james -keyalg RSA -keystore dockerfiles/run/guice/jpa/destination/conf/keystore - - -Then we need to build james container : - - $ docker build -t james_run dockerfiles/run/guice/jpa - -To run this container : - - $ docker run --hostname HOSTNAME -p "25:25" -p 80:80 -p "110:110" -p "143:143" -p "465:465" -p "587:587" -p "993:993" -p "127.0.0.1:8000:8000" --name james_run -t james_run - -HOSTNAME is the hostname you want to give to your James container. This DNS entry will be used to send mail to your James server. - -Webadmin port binding is restricted to loopback as users are not authenticated by default on webadmin server. Thus you should avoid exposing it in production. -Note that the above example assumes `127.0.0.1` is your loopback interface for convenience but you should change it if this is not the case on your machine. - -To have log file accessible on a volume, add *-v $PWD/logs:/logs* option to the above command line, where *$PWD/logs* is your local directory to put files in. - - === Run James with Spring + JPA ==== Requirements --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@james.apache.org For additional commands, e-mail: notifications-h...@james.apache.org