<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License.    
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- Generated by Apache Maven Doxia at 2021-11-12 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Apache James Project &#x2013; Apache James Server 3 - Packaging</title>
    <style type="text/css" media="all">
      @import url("../css/james.css");
      @import url("../css/maven-base.css");
      @import url("../css/maven-theme.css");
      @import url("../css/site.css");
      @import url("../js/jquery/css/custom-theme/jquery-ui-1.8.5.custom.css");
      @import url("../js/jquery/css/print.css");
      @import url("../js/fancybox/jquery.fancybox-1.3.4.css");
    </style>
    <script type="text/javascript" src="../js/jquery/js/jquery-1.4.2.min.js"></script>
    <script type="text/javascript" src="../js/jquery/js/jquery-ui-1.8.5.custom.min.js"></script>
    <script type="text/javascript" src="../js/fancybox/jquery.fancybox-1.3.4.js"></script>
    <link rel="stylesheet" href="../css/print.css" type="text/css" media="print" />
    <meta name="Date-Revision-yyyymmdd" content="20211112" />
    <meta http-equiv="Content-Language" content="en" />
        
          <!-- Google Analytics -->
    <script type="text/javascript">
    
      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-1384591-1']);
      _gaq.push(['_trackPageview']);

      (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script').item(0); s.parentNode.insertBefore(ga, s);
      })();

    </script>
    </head>
  <body class="composite">
    <div id="banner">
                                      <a href="../index.html" id="bannerLeft" title="james-logo.png">
              
                                                                            
        <img src="../images/logos/james-logo.png" alt="James Project" />
                </a>
                              <a href="https://www.apache.org/index.html" id="bannerRight">
              
                                        
        <img src="images/logos/asf_logo_small.png" alt="The Apache Software Foundation" />
                </a>
            <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="breadcrumbs">
            
                
                <div class="xleft">
        <span id="publishDate">Last Published: 2021-11-12</span>
                      </div>
            <div class="xright">                    <a href="../index.html" title="Home">Home</a>
            |
                        <a href="../documentation.html" title="James">James</a>
            |
                        <a href="../mime4j/index.html" title="Mime4J">Mime4J</a>
            |
                        <a href="../jsieve/index.html" title="jSieve">jSieve</a>
            |
                        <a href="../jspf/index.html" title="jSPF">jSPF</a>
            |
                        <a href="../jdkim/index.html" title="jDKIM">jDKIM</a>
              
                
      </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="leftColumn">
      <div id="navcolumn">
             
                
                                <h5>James components</h5>
                  <ul>
                                                                                                                                                                                                                    <li class="collapsed">
                          <a href="../documentation.html" title="About James">About James</a>
                  </li>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <li class="expanded">
                          <a href="../server/index.html" title="Server">Server</a>
                    <ul>
                      <li class="none">
                          <a href="../server/advantages.html" title="Advantages">Advantages</a>
            </li>
                      <li class="none">
                          <a href="../server/objectives.html" title="Objectives">Objectives</a>
            </li>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      <li class="expanded">
                          <a href="../server/quick-start.html" title="User Manual">User Manual</a>
                    <ul>
                                                                                                                                                                                    <li class="collapsed">
                          <a href="../server/features.html" title="1. Features">1. Features</a>
                  </li>
                      <li class="none">
            <strong>2. Packaging</strong>
          </li>
                                                                                                                              <li class="collapsed">
                          <a href="../server/install.html" title="3. Install James">3. Install James</a>
                  </li>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              <li class="collapsed">
                          <a href="../server/config.html" title="4. Configure James">4. Configure James</a>
                  </li>
                                                                                                                              <li class="collapsed">
                          <a href="../server/manage.html" title="5. Manage">5. Manage</a>
                  </li>
                                                                                                            <li class="collapsed">
                          <a href="../server/monitor.html" title="6. Monitor">6. Monitor</a>
                  </li>
                                                                        <li class="collapsed">
                          <a href="../server/upgrade.html" title="7. Upgrade">7. Upgrade</a>
                  </li>
                                                                                                                                                                                                                                    <li class="collapsed">
                          <a href="../server/dev.html" title="8. Developers Corner">8. Developers Corner</a>
                  </li>
              </ul>
        </li>
                      <li class="none">
                          <a href="../mail.html#James_Mailing_lists" title="Mailing Lists">Mailing Lists</a>
            </li>
                      <li class="none">
                          <a href="../server/release-notes.html" title="Release Notes">Release Notes</a>
            </li>
                      <li class="none">
                          <a href="../server/apidocs/index.html" title="Javadoc">Javadoc</a>
            </li>
                      <li class="none">
                          <a href="https://issues.apache.org/jira/browse/JAMES" title="Issue Tracker">Issue Tracker</a>
            </li>
                      <li class="none">
                          <a href="https://github.com/apache/james-project" title="Sources">Sources</a>
            </li>
                      <li class="none">
                          <a href="../server/rfcs.html" title="RFCs">RFCs</a>
            </li>
                      <li class="none">
                          <a href="../download.cgi#Apache_James_Server" title="Download releases">Download releases</a>
            </li>
              </ul>
        </li>
                                                                                                                                                                                                                                                                          <li class="collapsed">
                          <a href="../mailet/index.html" title="Mailets">Mailets</a>
                  </li>
                                                                                                                                                                                                                                                                                      <li class="collapsed">
                          <a href="../mailbox/index.html" title="Mailbox">Mailbox</a>
                  </li>
                                                                                                                                                                                <li class="collapsed">
                          <a href="../protocols/index.html" title="Protocols">Protocols</a>
                  </li>
                                                                                                                                                                                      <li class="collapsed">
                          <a href="../mpt/index.html" title="MPT">MPT</a>
                  </li>
          </ul>
        <h5>Apache Software Foundation</h5>
  <ul>
    <li>
      <strong>
        <a title="ASF" href="http://www.apache.org/">ASF</a>
      </strong>
    </li>
    <li>
      <a title="Get Involved" href="http://www.apache.org/foundation/getinvolved.html">Get Involved</a>
    </li>
    <li>
      <a title="FAQ" href="http://www.apache.org/foundation/faq.html">FAQ</a>
    </li>
    <li>
      <a title="License" href="http://www.apache.org/licenses/" >License</a>
    </li>
    <li>
      <a title="Sponsorship" href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
    </li>
    <li>
      <a title="Thanks" href="http://www.apache.org/foundation/thanks.html">Thanks</a>
    </li>
    <li>
      <a title="Security" href="http://www.apache.org/security/">Security</a>
    </li>
  </ul>
                       <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
        <img class="poweredBy" alt="Built by Maven" src="../images/logos/maven-feather.png" />
      </a>
                   
                
            </div>
    </div>
    <div id="bodyColumn">
      <div id="contentBox">
        

    

        <section>
<h2><a name="Available_packaging_options"></a>Available packaging options</h2>
            
<p>James components are assembled in various way, called packaging.</p>

            
<ul>The packaging you choose will influence:
                
<li>Your java requirement</li>
                
<li>The protocol the mail server supports</li>
                
<li>The components you can use</li>
            </ul>

            
<p>Thus, one must carefully choose his packaging.</p>

            
<ul>To help you doing this, here is a list of available packages:
                
<li><a class="externalLink" href="https://github.com/apache/james-project/tree/master/server/app">Spring</a>: Allows you to
                    choose across various available implementations for each component. Requires more configuration effort.</li>
                
<li><a class="externalLink" href="https://github.com/apache/james-project/tree/master/server/container/guice/cassandra-guice">
                    Cassandra-guice</a>: Ships a James server storing emails in Cassandra and index them in ElasticSearch targeting single server deployment. Optional support for LDAP authentication.</li>
                
<li><a class="externalLink" href="https://github.com/apache/james-project/tree/master/server/container/guice/cassandra-rabbitmq-guice">
                    Distributed: cassandra-rabbitmq-guice</a>: Ships a James server storing emails in Cassandra and index them in ElasticSearch targeting multi node deployments. S3 is used to store blobs. RabbitMQ is used for inter-node messaging. Optional support for LDAP authentication.</li>
                
<li><a class="externalLink" href="https://github.com/apache/james-project/tree/master/server/container/guice/jpa-guice">
                    Jpa-Guice</a>: Ships a James server storing emails in a SQL database (derby by default) accessed with JPA and Lucene to index emails and targets single node deployment.</li>
                
<li><a class="externalLink" href="https://github.com/apache/james-project/tree/master/server/container/guice/jpa-smtp">
                    Jpa-Smtp</a>: A tiny SMTP server shiped without mailbox, using SQL database to store data, accessed by JPA.</li>
            </ul>

            
<p>Note: Especially using Guice, one can easily define new modules for existing James components, as well as
            for third party code. Note that building your own combination of components will lead to an untested and unsupported server.
            </p>
        </section>

        <section>
<h2><a name="Support_matrix"></a>Support matrix</h2>
            
<p>
                </p>
<table border="0" class="bodyTable">
                    
<tr class="a">
                        
<th>Packaging</th>
                        
<th>Spring</th>
                        
<th>Cassandra-guice</th>
                        
<th>Distributed Cassandra-rabbitMQ-guice</th>
                        
<th>Jpa-guice</th>
                        
<th>Jpa-smtp</th>
                    </tr>
                    
<tr class="b">
                        
<td>IoC framework</td>
                        
<td>Spring</td>
                        
<td>Guice</td>
                        
<td>Guice</td>
                        
<td>Guice</td>
                        
<td>Guice</td>
                    </tr>
                    
<tr class="a">
                        
<td>Docker image</td>
                        
<td>Not available. Contributions welcomed for JIB support.</td>
                        
<td>apache/james:cassandra-3.6.0</td>
                        
<td>apache/james:distributed-3.6.0</td>
                        
<td>apache/james:jpa-3.6.0</td>
                        
<td>None</td>
                    </tr>
                    
<tr class="b">
                        
<td>Supports SMTP</td>
                        
<td>Yes</td>
                        
<td>Yes</td>
                        
<td>Yes</td>
                        
<td>Yes</td>
                        
<td>Yes</td>
                    </tr>
                    
<tr class="a">
                        
<td>Deployment model</td>
                        
<td>Single node</td>
                        
<td>Single node</td>
                        
<td>Multi node</td>
                        
<td>Single node</td>
                        
<td>Single node</td>
                    </tr>
                    
<tr class="b">
                        
<td>Supports IMAP</td>
                        
<td>Yes</td>
                        
<td>Yes</td>
                        
<td>Yes</td>
                        
<td>Yes</td>
                        
<td>No</td>
                    </tr>
                    
<tr class="a">
                        
<td>Supports JMAP</td>
                        
<td>No</td>
                        
<td>Yes</td>
                        
<td>Yes</td>
                        
<td>No</td>
                        
<td>No</td>
                    </tr>
                    
<tr class="b">
                        
<td>Supports POP3</td>
                        
<td>Yes</td>
                        
<td>Yes</td>
                        
<td>Yes</td>
                        
<td>Yes</td>
                        
<td>No</td>
                    </tr>
                    
<tr class="a">
                        
<td>Supports FetchMail</td>
                        
<td>Yes</td>
                        
<td>No</td>
                        
<td>No</td>
                        
<td>No</td>
                        
<td>No</td>
                    </tr>
                    
<tr class="b">
                        
<td>Supports CLI</td>
                        
<td>Yes</td>
                        
<td>Yes</td>
                        
<td>Yes</td>
                        
<td>Yes</td>
                        
<td>No</td>
                    </tr>
                    
<tr class="a">
                        
<td>Supports WebAdmin</td>
                        
<td>No</td>
                        
<td>Yes</td>
                        
<td>Yes</td>
                        
<td>Yes</td>
                        
<td>Yes</td>
                    </tr>
                    
<tr class="b">
                        
<td>Supports Grafana metrics (Prometheus)</td>
                        
<td>No</td>
                        
<td>Yes</td>
                        
<td>Yes</td>
                        
<td>Yes</td>
                        
<td>Yes</td>
                    </tr>
                    
<tr class="a">
                        
<td>Mailbox implementation</td>
                        
<td>JPA/MailDir/Memory</td>
                        
<td>Cassandra</td>
                        
<td>Cassandra</td>
                        
<td>JPA</td>
                        
<td>JPA</td>
                    </tr>
                    
<tr class="b">
                        
<td>Indexer implementation</td>
                        
<td>Lucene/None</td>
                        
<td>ElasticSearch</td>
                        
<td>ElasticSearch</td>
                        
<td>Lucene</td>
                        
<td>None</td>
                    </tr>
                    
<tr class="a">
                        
<td>Server data implementation</td>
                        
<td>JPA/File</td>
                        
<td>JPA/File</td>
                        
<td>Cassandra</td>
                        
<td>Cassandra</td>
                        
<td>JPA</td>
                        
<td>JPA</td>
                    </tr>
                    
<tr class="b">
                        
<td>Mail queue implementation</td>
                        
<td>ActiveMQ</td>
                        
<td>ActiveMQ</td>
                        
<td>RabbitMQ</td>
                        
<td>ActiveMQ</td>
                        
<td>ActiveMQ</td>
                    </tr>
                    
<tr class="a">
                        
<td>Sieve</td>
                        
<td>Experimental</td>
                        
<td>Experimental</td>
                        
<td>Experimental</td>
                        
<td>Experimental</td>
                        
<td>No</td>
                    </tr>
                    
<tr class="b">
                        
<td>User defined mailbox listener registration</td>
                        
<td>No</td>
                        
<td>Yes (master)</td>
                        
<td>Yes (master)</td>
                        
<td>Yes (master)</td>
                        
<td>No</td>
                    </tr>
                    
<tr class="a">
                        
<td>Installation instructions</td>
                        
<td><a href="install.html">Here</a></td>
                        
<td><a href="install/guice-cassandra.html">Here</a></td>
                        
<td><a href="install/guice-cassandra-rabbitmq-s3.html">Here</a></td>
                        
<td><a href="install/guice-jpa.html">Here</a></td>
                        
<td><a href="install/guice-jpa-smtp.html">Here</a></td>
                    </tr>
                </table>

                
<p><b>WARNING</b>: 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)</p>
            
        </section>

        <section>
<h2><a name="Docker_matrix"></a>Docker matrix</h2>
            
<p>
                </p>
<table border="0" class="bodyTable">
                    
<tr class="a">
                        
<th>Image name</th>
                        
<th>Deployment model</th>
                        
<th>General persistence</th>
                        
<th>Blob persistence</th>
                        
<th>Queue type</th>
                        
<th>Search</th>
                        
<th>Supported protocols</th>
                    </tr>
                    
<tr class="b">
                        
<td>apache/james:distributed-3.6.0</td>
                        
<td>Multi-node</td>
                        
<td>Cassandra</td>
                        
<td>S3 or Cassandra</td>
                        
<td>RabbitMQ</td>
                        
<td>ElasticSearch</td>
                        
<td>SMTP, IMAP, JMAP, POP3, LMTP, WebAdmin</td>
                    </tr>
                    
<tr class="a">
                        
<td>apache/james:jpa-3.6.0</td>
                        
<td>Single node</td>
                        
<td>Embedded Derby database (JPA, SQL)</td>
                        
<td>Not applicable</td>
                        
<td>In VM</td>
                        
<td>Index Lucene on the filesystem</td>
                        
<td>SMTP, IMAP, POP3, LMTP, WebAdmin</td>
                    </tr>
                    
<tr class="b">
                        
<td>apache/james:demo-3.6.0</td>
                        
<td>Pre-provisioned Single node instance to ease project discovery</td>
                        
<td>Embedded Derby database (JPA, SQL)</td>
                        
<td>Not applicable</td>
                        
<td>In VM</td>
                        
<td>Index Lucene on the filesystem</td>
                        
<td>SMTP, IMAP, POP3, LMTP, WebAdmin</td>
                    </tr>
                    
<tr class="a">
                        
<td>apache/james:memory-3.6.0</td>
                        
<td>Single node for test purposes</td>
                        
<td>Memory (no persistence)</td>
                        
<td>Memory (no persistence)</td>
                        
<td>In VM</td>
                        
<td>Scroll on in memory data</td>
                        
<td>SMTP, IMAP, JMAP, POP3, LMTP, WebAdmin</td>
                    </tr>
                    
<tr class="b">
                        
<td>apache/james:cassandra-3.6.0</td>
                        
<td>Single node on top of a shared database</td>
                        
<td>Cassandra</td>
                        
<td>Cassandra</td>
                        
<td>In VM</td>
                        
<td>ElasticSearch</td>
                        
<td>SMTP, IMAP, JMAP, POP3, LMTP, WebAdmin</td>
                    </tr>
                </table>
            

            
<p><b>WARNING</b>: 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)</p>
        </section>

    


      </div>
    </div>
    <div class="clear">
      <hr/>
    </div>
    <div id="footer">
      <div class="xright">Copyright &#169;                    2006-2021
                        <a href="https://www.apache.org/">The Apache Software Foundation</a>.
            All Rights Reserved.      
                
      </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
  </body>
</html>
