You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by David Leangen <ap...@leangen.net> on 2020/06/06 07:35:34 UTC

Setting up the "James Local Server"

Hi!

I am turning my attention to:

  —> https://james.leangen.net/main/3.5/servers/local.html

Which is introduced here:

  —> https://james.leangen.net/main/3.5/servers/index.html



However, since unfortunately I am still oblivious to too many James concepts, I do not yet know how to set this up. I am hoping to do this as a Docker image.

Can somebody help me, please? 😇

Cheers,
=David



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: Setting up the "James Local Server"

Posted by David Leangen <ap...@leangen.net>.
Hi Matthieu,

> I copy/paste the summary here to be sure we are talking about the same
> thing.

Yes, we are indeed talking about the same thing.


> The right `flavor` is the JPA/Guice one. Docker image on github is
> linagora/james-jpa-guice

Ok, thank you! You have given me a lot to work with.

Since this is supposed to be the “easy” one to install for “non-experts”, what I would like to do is make documentation for 3 incremental steps:

 1. Install as a default (with minimal configuration), super easy to get going (maybe with a simple configuration script)
 2. Explain how to configure in more depth (basically like how it is right now)
 3. Explain how to extend the server with mailers / plugins etc.

Hopefully people can set up a server really easily to get going, then take incremental steps if necessary to satisfy their mailing needs.

> Please ask if you need more details.

I will certainly have many questions!!


Thank you very much!

Cheers,
=David


Re: Setting up the "James Local Server"

Posted by Matthieu Baechler <ma...@apache.org>.
Hi David,


On Sat, 2020-06-06 at 16:35 +0900, David Leangen wrote:
> Hi!
> 
> I am turning my attention to:
> 
>   —> https://james.leangen.net/main/3.5/servers/local.html
> 
> Which is introduced here:
> 
>   —> https://james.leangen.net/main/3.5/servers/index.html
> 
> 
> 
> However, since unfortunately I am still oblivious to too many James
> concepts, I do not yet know how to set this up. I am hoping to do
> this as a Docker image.
> 
> Can somebody help me, please? 😇
> 


I copy/paste the summary here to be sure we are talking about the same
thing.


> If you are not sure which server you should be using, then you
> probably ought to be using the Local Server. This server uses the
> local file system to store emails, which tends to considerably
> simplify the system. To safeguard your emails, you only need a simple
> generic backup solution that works with a data volume.
> 
> This server is intended to be the simplest to set up and use in
> production. It has the least amount of dependencies and complexities.
> If you do not yet have a huge amount of emails to process, then
> usually the simplicity is well worth the loss of some functionality.
> The last thing you need is to have to resolve difficult issues on a
> production server when you have not yet acquired the requisite
> knowledge to deal with those issues. Using the Local Server will help
> you reduce the risk of running into production issues.
> 
> This server is:
> 
>     Suggested for use with smaller deployments
> 
>     Appropriate for use by most operators
> 
>     The preferred choice for most installations
> 
>     Endowed with fewer dependencies, which makes it simpler and less
> risky to use in production
> 
>     Only dependent on your local file system for data storage, so
> very easy to manage
> 
> 

The right `flavor` is the JPA/Guice one. Docker image on github is
linagora/james-jpa-guice

JPA is an ORM spec that `helps` writing RDBMS code that works on many
slightly incompatible SQL systems. It's what is used in this `flavor`
to deal with users/domain/rewriting rules/mailboxes/mails.

The default RDBMS used with this setup is Apache Derby, with is an
embedded database (it doesn't require to setup a service outside of
James) and write files on the filesystem.

Some other technologies are used in this setup that are worth
mentioning: ActiveMQ in embedded mode for Message Queueing purpose and
Lucene for search.

Both technologies are using local filesystem to store data.

To make a server run one needs to configure the services that (s)he
wants: IMAP, POP, JMAP, SMTP, LMTP and also customize how mails are
handled. That's where the config files are useful.

There's a sample configuration directory located in
`dockerfiles/run/guice/jpa/destination/conf` that illustrates how to
configure your server properly.

Please ask if you need more details.

-- Matthieu Baechler


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org