JAMES-2254 Introduce RPM packaging
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/a7959458 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/a7959458 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/a7959458 Branch: refs/heads/master Commit: a7959458f4a7605544209ebfcc1ec8a3a147e50b Parents: eeca3b5 Author: Raphael Ouazana <raphael.ouaz...@linagora.com> Authored: Thu Dec 7 15:08:41 2017 +0100 Committer: Antoine Duprat <adup...@linagora.com> Committed: Fri Dec 15 16:53:09 2017 +0100 ---------------------------------------------------------------------- README.adoc | 14 +- dockerfiles/packaging/Dockerfile | 24 ++++ dockerfiles/packaging/debian/Dockerfile | 21 --- dockerfiles/packaging/debian/james.postinst | 11 -- dockerfiles/packaging/debian/james.prerm | 5 - dockerfiles/packaging/debian/james.service | 36 ----- dockerfiles/packaging/debian/package.sh | 42 ------ .../etc/james/templates/cassandra.properties | 6 - .../package/etc/james/templates/dnsservice.xml | 29 ---- .../package/etc/james/templates/domainlist.xml | 28 ---- .../james/templates/elasticsearch.properties | 42 ------ .../package/etc/james/templates/imapserver.xml | 54 ------- .../package/etc/james/templates/jmap.properties | 13 -- .../package/etc/james/templates/jmx.properties | 28 ---- .../package/etc/james/templates/jwt_publickey | 3 - .../package/etc/james/templates/lmtpserver.xml | 41 ------ .../package/etc/james/templates/logback.xml | 30 ---- .../etc/james/templates/mailetcontainer.xml | 144 ------------------- .../etc/james/templates/mailrepositorystore.xml | 34 ----- .../etc/james/templates/managesieveserver.xml | 65 --------- .../package/etc/james/templates/pop3server.xml | 42 ------ .../package/etc/james/templates/quota.xml | 53 ------- .../james/templates/recipientrewritetable.xml | 26 ---- .../package/etc/james/templates/smtpserver.xml | 105 -------------- .../etc/james/templates/usersrepository.xml | 26 ---- .../etc/james/templates/webadmin.properties | 41 ------ .../packaging/debian/package/usr/lib/.gitkeep | 0 .../debian/package/usr/share/james/.gitkeep | 0 .../debian/package/var/lib/james/.gitkeep | 0 .../debian/package/var/log/james/.gitkeep | 0 dockerfiles/packaging/james.postinst | 6 + dockerfiles/packaging/james.rpm.postinst | 8 ++ dockerfiles/packaging/james.rpm.postremove | 7 + dockerfiles/packaging/james.rpm.postupgrade | 5 + dockerfiles/packaging/james.service | 34 +++++ dockerfiles/packaging/package.sh | 61 ++++++++ .../etc/james/templates/cassandra.properties | 6 + .../package/etc/james/templates/dnsservice.xml | 29 ++++ .../package/etc/james/templates/domainlist.xml | 28 ++++ .../james/templates/elasticsearch.properties | 42 ++++++ .../package/etc/james/templates/imapserver.xml | 54 +++++++ .../package/etc/james/templates/jmap.properties | 13 ++ .../package/etc/james/templates/jmx.properties | 28 ++++ .../package/etc/james/templates/jwt_publickey | 3 + .../package/etc/james/templates/lmtpserver.xml | 41 ++++++ .../package/etc/james/templates/logback.xml | 30 ++++ .../etc/james/templates/mailetcontainer.xml | 144 +++++++++++++++++++ .../etc/james/templates/mailrepositorystore.xml | 34 +++++ .../etc/james/templates/managesieveserver.xml | 65 +++++++++ .../package/etc/james/templates/pop3server.xml | 42 ++++++ .../package/etc/james/templates/quota.xml | 53 +++++++ .../james/templates/recipientrewritetable.xml | 26 ++++ .../package/etc/james/templates/smtpserver.xml | 105 ++++++++++++++ .../etc/james/templates/usersrepository.xml | 26 ++++ .../etc/james/templates/webadmin.properties | 41 ++++++ dockerfiles/packaging/package/usr/lib/.gitkeep | 0 .../packaging/package/usr/share/james/.gitkeep | 0 .../packaging/package/var/lib/james/.gitkeep | 0 .../packaging/package/var/log/james/.gitkeep | 0 59 files changed, 963 insertions(+), 931 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/README.adoc ---------------------------------------------------------------------- diff --git a/README.adoc b/README.adoc index 3768040..321cff8 100644 --- a/README.adoc +++ b/README.adoc @@ -351,13 +351,13 @@ Where : - SHA1: is the given git SHA1 of the james-project repository to merge. - RESULTING_BRANCH: is the branch created when merging. -=== Generating a debian package for James +=== Generating a package for James -You can generate a debian package for James by using the following process. +You can generate a deb package and an RPM package for James by using the following process. First step, you have to build the Docker image used to generate the package - $ docker build -t build-james-deb --build-arg RELEASE=3.0-beta6 --build-arg ITERATION=1 dockerfiles/packaging/debian/ + $ docker build -t build-james-packages --build-arg RELEASE=3.0-beta6 --build-arg ITERATION=1 dockerfiles/packaging/ Where: @@ -365,9 +365,11 @@ Where: Then, you have to run the container: - $ docker run --name james-deb -v $PWD/jars:/jars -v $PWD/result:/result build-james-deb + $ docker run --name james-packages -v $PWD/result:/result build-james-packages Where: -- $PWD/jars is the path to the folder containing the maven result (main jar and lib folder) -- $PWD/result is the folder where the debian package will be copied +- $PWD/result is the folder where the deb and the RPM packages will be copied + +This process will use the last generated docker image of James. You can change this behaviour by editing the first line of +dockerfiles/packaging/Dockerfile and choose the source image you want to use. http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/Dockerfile ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/Dockerfile b/dockerfiles/packaging/Dockerfile new file mode 100644 index 0000000..eed4b0f --- /dev/null +++ b/dockerfiles/packaging/Dockerfile @@ -0,0 +1,24 @@ +FROM linagora/james-project:latest as source + +FROM debian:8.1 + +RUN apt-get update +RUN apt-get install -y ruby-dev ruby build-essential +RUN gem install fpm +RUN apt-get install -y rpm + +ADD . /packages + +COPY james.service /packages/package/usr/share/james/ +COPY --from=source /root/*.jar /packages/package/usr/share/james/ +COPY --from=source /root/james-server-cassandra-guice.lib/ /packages/package/usr/share/james/james-server-cassandra-guice.lib/ +COPY --from=source /root/james-server-cli.lib/ /packages/package/usr/share/james/james-server-cli.lib/ + +ARG RELEASE +ENV RELEASE $RELEASE +ARG ITERATION +ENV ITERATION $ITERATION + +WORKDIR /packages + +ENTRYPOINT [ "sh", "-c", "/packages/package.sh $RELEASE $ITERATION" ] http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/debian/Dockerfile ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/debian/Dockerfile b/dockerfiles/packaging/debian/Dockerfile deleted file mode 100644 index ca740e8..0000000 --- a/dockerfiles/packaging/debian/Dockerfile +++ /dev/null @@ -1,21 +0,0 @@ -FROM debian:8.1 - -RUN apt-get update -RUN apt-get install -y ruby-dev ruby build-essential -RUN gem install fpm - -ADD . /debian - -COPY package.sh /root/package.sh -COPY james.postinst /debian/james.postinst -COPY james.prerm /debian/james.prerm -COPY james.service /debian/james.service - -ARG RELEASE -ENV RELEASE $RELEASE -ARG ITERATION -ENV ITERATION $ITERATION - -WORKDIR /debian - -ENTRYPOINT [ "sh", "-c", "/root/package.sh $RELEASE $ITERATION" ] http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/debian/james.postinst ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/debian/james.postinst b/dockerfiles/packaging/debian/james.postinst deleted file mode 100644 index 0fd5d4d..0000000 --- a/dockerfiles/packaging/debian/james.postinst +++ /dev/null @@ -1,11 +0,0 @@ -#! /bin/sh -e - -useradd --home-dir /var/lib/james james - -chown -R james:james /var/log/james -chown -R james:james /var/lib/james - -ln -s /etc/james /var/lib/james/conf - -systemctl enable james - http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/debian/james.prerm ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/debian/james.prerm b/dockerfiles/packaging/debian/james.prerm deleted file mode 100644 index 42cc19e..0000000 --- a/dockerfiles/packaging/debian/james.prerm +++ /dev/null @@ -1,5 +0,0 @@ -#! /bin/sh -e - -deluser james -delgroup james - http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/debian/james.service ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/debian/james.service b/dockerfiles/packaging/debian/james.service deleted file mode 100644 index d242278..0000000 --- a/dockerfiles/packaging/debian/james.service +++ /dev/null @@ -1,36 +0,0 @@ -[Unit] -Description=James stands for Java Apache Mail Enterprise Server! It has a modular architecture based on a rich set of modern and efficient components which provides at the end complete, stable, secure and extendable Mail Servers running on the JVM. -Documentation=http://james.apache.org -Wants=network-online.target cassandra.service elasticsearch.service -After=network-online.target cassandra.service elasticsearch.service - -[Service] -Environment=WORKING_DIRECTORY=/var/lib/james -Environment=XMX=1024m - -User=root -Group=root - -ExecStart=/usr/bin/java -Dworking.directory=${WORKING_DIRECTORY} -Xmx${XMX} -Dlogback.configurationFile=/etc/james/logback.xml -jar /usr/share/james/james-server.jar - -StandardOutput=journal -StandardError=inherit - -# Specifies the maximum number of bytes of memory that may be locked into RAM -# Set to "infinity" if you use the 'bootstrap.mlockall: true' option -# in elasticsearch.yml and 'MAX_LOCKED_MEMORY=unlimited' in /etc/default/elasticsearch -#LimitMEMLOCK=infinity - -# SIGTERM signal is used to stop the Java process -KillSignal=SIGTERM - -# Java process is never killed -SendSIGKILL=no - -# When a JVM receives a SIGTERM signal it exits with code 143 -SuccessExitStatus=143 - -[Install] -WantedBy=multi-user.target - -# Built for Distribution: Deb-2.2.1 (deb) http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/debian/package.sh ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/debian/package.sh b/dockerfiles/packaging/debian/package.sh deleted file mode 100755 index d6c2278..0000000 --- a/dockerfiles/packaging/debian/package.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/sh -e - -printUsage() { - echo "Usage : " - echo "./package.sh RELEASE ITERATION" - echo " RELEASE : The release to be generated." - echo " ITERATION: The iteration to give to the package." - exit 1 -} - -if [ "$#" -ne 2 ]; then - printUsage -fi - -RELEASE=$1 -ITERATION=$2 -cp /jars/james-server-cassandra-guice.jar /debian/package/usr/share/james/james-server.jar -cp -r /jars/james-server-cassandra-guice.lib /debian/package/usr/share/james/ -cp /jars/james-server-cli.jar /debian/package/usr/share/james/james-cli.jar -cp -r /jars/james-server-cli.lib /debian/package/usr/share/james/ - -fpm -s dir -t deb \ - -n james \ - -v $RELEASE \ - -a x86_64 \ - -d openjdk-8-jre \ - -C package \ - --deb-systemd james.service \ - --after-install james.postinst \ - --before-remove james.prerm \ - --provides mail-transport-agent \ - --provides default-mta \ - --iteration $ITERATION \ - --license http://www.apache.org/licenses/LICENSE-2.0 \ - --description "$(printf "James stands for Java Apache Mail Enterprise Server!\nIt has a modular architecture based on a rich set of modern and efficient components which provides at the end complete, stable, secure and extendable Mail Servers running on the JVM.")" \ - --vendor "Apache" \ - --maintainer "Apache" \ - --url http://james.apache.org/ \ - --category web \ - . - -cp /debian/james*.deb /result/ http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/debian/package/etc/james/templates/cassandra.properties ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/debian/package/etc/james/templates/cassandra.properties b/dockerfiles/packaging/debian/package/etc/james/templates/cassandra.properties deleted file mode 100644 index 426a35c..0000000 --- a/dockerfiles/packaging/debian/package/etc/james/templates/cassandra.properties +++ /dev/null @@ -1,6 +0,0 @@ -# Configuration file for cassandra mailbox -cassandra.nodes=127.0.0.1 -cassandra.keyspace=apache_james -cassandra.replication.factor=1 -cassandra.retryConnection.maxRetries=10 -cassandra.retryConnection.minDelay=5000 http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/debian/package/etc/james/templates/dnsservice.xml ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/debian/package/etc/james/templates/dnsservice.xml b/dockerfiles/packaging/debian/package/etc/james/templates/dnsservice.xml deleted file mode 100644 index 0978a00..0000000 --- a/dockerfiles/packaging/debian/package/etc/james/templates/dnsservice.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0"?> -<!-- - 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. - --> - -<dnsservice> - <servers> - <server>8.8.8.8</server> - <server>62.210.16.6</server> - </servers> - <autodiscover>false</autodiscover> - <authoritative>false</authoritative> - <maxcachesize>50000</maxcachesize> -</dnsservice> http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/debian/package/etc/james/templates/domainlist.xml ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/debian/package/etc/james/templates/domainlist.xml b/dockerfiles/packaging/debian/package/etc/james/templates/domainlist.xml deleted file mode 100644 index a9e3da7..0000000 --- a/dockerfiles/packaging/debian/package/etc/james/templates/domainlist.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0"?> -<!-- - 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. - --> - -<domainlist> - <domainnames> - <domainname>yourdomain.org</domainname> - </domainnames> - <autodetect>true</autodetect> - <autodetectIP>true</autodetectIP> - <defaultDomain>localhost</defaultDomain> -</domainlist> http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/debian/package/etc/james/templates/elasticsearch.properties ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/debian/package/etc/james/templates/elasticsearch.properties b/dockerfiles/packaging/debian/package/etc/james/templates/elasticsearch.properties deleted file mode 100644 index cf1daac..0000000 --- a/dockerfiles/packaging/debian/package/etc/james/templates/elasticsearch.properties +++ /dev/null @@ -1,42 +0,0 @@ -# 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. - -# This template file can be used as example for James Server configuration -# DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS - -# Configuration file for ElasticSearch - -elasticsearch.masterHost=127.0.0.1 -elasticsearch.port=9300 - -# You can alternatively provide a list of hosts following this format : -# elasticsearch.hosts=host1:9300,host2:9300 - -elasticsearch.nb.shards=1 -elasticsearch.nb.replica=0 -elasticsearch.retryConnection.maxRetries=7 -elasticsearch.retryConnection.minDelay=3000 -# Index or not attachments (default value: true) -elasticsearch.indexAttachments=true - -# Reports for metrics into ElasticSearch -# Defaults to elasticsearch.masterHost : on which server to publish metrics -elasticsearch.http.host=elasticsearch -elasticsearch.http.port=9200 -elasticsearch.metrics.reports.enabled=true -elasticsearch.metrics.reports.period=30 -elasticsearch.metrics.reports.index=james-metrics http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/debian/package/etc/james/templates/imapserver.xml ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/debian/package/etc/james/templates/imapserver.xml b/dockerfiles/packaging/debian/package/etc/james/templates/imapserver.xml deleted file mode 100644 index 8ccb117..0000000 --- a/dockerfiles/packaging/debian/package/etc/james/templates/imapserver.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0"?> - -<!-- -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. ---> - - -<imapservers> - <imapserver enabled="true"> - <jmxName>imapserver</jmxName> - <bind>0.0.0.0:143</bind> - <connectionBacklog>200</connectionBacklog> - <tls socketTLS="false" startTLS="true"> - <!-- To create a new keystore execute: - keytool -genkey -alias james -keyalg RSA -keystore /path/to/james/conf/keystore - --> - <keystore>file://conf/keystore</keystore> - <secret>james72laBalle</secret> - <provider>org.bouncycastle.jce.provider.BouncyCastleProvider</provider> - </tls> - <connectionLimit>0</connectionLimit> - <connectionLimitPerIP>0</connectionLimitPerIP> - </imapserver> - <imapserver enabled="true"> - <jmxName>imapserver-ssl</jmxName> - <bind>0.0.0.0:993</bind> - <connectionBacklog>200</connectionBacklog> - <tls socketTLS="true" startTLS="false"> - <!-- To create a new keystore execute: - keytool -genkey -alias james -keyalg RSA -keystore /path/to/james/conf/keystore - --> - <keystore>file://conf/keystore</keystore> - <secret>james72laBalle</secret> - <provider>org.bouncycastle.jce.provider.BouncyCastleProvider</provider> - </tls> - <connectionLimit>0</connectionLimit> - <connectionLimitPerIP>0</connectionLimitPerIP> - </imapserver> -</imapservers> http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/debian/package/etc/james/templates/jmap.properties ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/debian/package/etc/james/templates/jmap.properties b/dockerfiles/packaging/debian/package/etc/james/templates/jmap.properties deleted file mode 100644 index 6c2f219..0000000 --- a/dockerfiles/packaging/debian/package/etc/james/templates/jmap.properties +++ /dev/null @@ -1,13 +0,0 @@ -# Configuration file for JMAP - -enabled=false - -tls.keystoreURL=file://conf/your_keystore -tls.secret=your_keystore_secret - -# -# If you wish to use OAuth authentication, you should provide a valid JWT public key. -# The following entry specify the link to the URL of the public key file, -# which should be a PEM format file. -# -jwt.publickeypem.url=file://conf/jwt_publickey http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/debian/package/etc/james/templates/jmx.properties ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/debian/package/etc/james/templates/jmx.properties b/dockerfiles/packaging/debian/package/etc/james/templates/jmx.properties deleted file mode 100644 index a1dbdf8..0000000 --- a/dockerfiles/packaging/debian/package/etc/james/templates/jmx.properties +++ /dev/null @@ -1,28 +0,0 @@ -# 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. -# - -# This template file can be used as example for James Server configuration -# DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS - -# This template file can be used as example for James Server configuration -# DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS - -# See http://james.apache.org/server/3/config.html for usage - -jmx.address=127.0.0.1 -jmx.port=9999 http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/debian/package/etc/james/templates/jwt_publickey ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/debian/package/etc/james/templates/jwt_publickey b/dockerfiles/packaging/debian/package/etc/james/templates/jwt_publickey deleted file mode 100644 index f00e64b..0000000 --- a/dockerfiles/packaging/debian/package/etc/james/templates/jwt_publickey +++ /dev/null @@ -1,3 +0,0 @@ ------BEGIN PUBLIC KEY----- -Your JWT public key ------END PUBLIC KEY----- http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/debian/package/etc/james/templates/lmtpserver.xml ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/debian/package/etc/james/templates/lmtpserver.xml b/dockerfiles/packaging/debian/package/etc/james/templates/lmtpserver.xml deleted file mode 100644 index ce079b0..0000000 --- a/dockerfiles/packaging/debian/package/etc/james/templates/lmtpserver.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0"?> -<!-- - 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. - --> - -<lmtpservers> - - <lmtpserver enabled="false"> - <jmxName>lmtpserver</jmxName> - <!-- LMTP should not be reachable from outside your network so bind it to loopback--> - <bind>127.0.0.1:24</bind> - <connectionBacklog>200</connectionBacklog> - <connectiontimeout>1200</connectiontimeout> - <!-- Set the maximum simultaneous incoming connections for this service --> - <connectionLimit>0</connectionLimit> - <!-- Set the maximum simultaneous incoming connections per IP for this service --> - <connectionLimitPerIP>0</connectionLimitPerIP> - <!-- This sets the maximum allowed message size (in kilobytes) for this --> - <!-- LMTP service. If unspecified, the value defaults to 0, which means no limit. --> - <maxmessagesize>0</maxmessagesize> - <handlerchain> - <handler class="org.apache.james.lmtpserver.CoreCmdHandlerLoader"/> - </handlerchain> - </lmtpserver> - -</lmtpservers> http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/debian/package/etc/james/templates/logback.xml ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/debian/package/etc/james/templates/logback.xml b/dockerfiles/packaging/debian/package/etc/james/templates/logback.xml deleted file mode 100644 index 94a639f..0000000 --- a/dockerfiles/packaging/debian/package/etc/james/templates/logback.xml +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<configuration> - - <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator"> - <resetJUL>true</resetJUL> - </contextListener> - - <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> - <encoder> - <pattern>%d{HH:mm:ss.SSS} %highlight([%-5level]) %logger{15} - %msg%n%rEx</pattern> - <immediateFlush>false</immediateFlush> - </encoder> - </appender> - - <appender name="LOG_FILE" class="ch.qos.logback.core.FileAppender"> - <file>/logs/james.log</file> - <encoder> - <pattern>%d{HH:mm:ss.SSS} [%-5level] %logger{15} - %msg%n%rEx</pattern> - <immediateFlush>false</immediateFlush> - </encoder> - </appender> - - <root level="INFO"> - <appender-ref ref="CONSOLE" /> - <appender-ref ref="LOG_FILE" /> - </root> - - <logger name="com.datastax.driver.core.QueryLogger.SLOW" level="DEBUG" /> - -</configuration> http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/debian/package/etc/james/templates/mailetcontainer.xml ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/debian/package/etc/james/templates/mailetcontainer.xml b/dockerfiles/packaging/debian/package/etc/james/templates/mailetcontainer.xml deleted file mode 100644 index 681b966..0000000 --- a/dockerfiles/packaging/debian/package/etc/james/templates/mailetcontainer.xml +++ /dev/null @@ -1,144 +0,0 @@ -<?xml version="1.0"?> - -<!-- - 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. - --> - -<mailetcontainer enableJmx="true"> - - <context> - <postmaster>postmas...@james.minet.net</postmaster> - </context> - - <spooler> - <threads>20</threads> - </spooler> - - <processors> - <processor state="root" enableJmx="true"> - <mailet match="All" class="PostmasterAlias"/> - <mailet match="RelayLimit=30" class="Null"/> - <mailet match="All" class="ToProcessor"> - <processor>transport</processor> - </mailet> - </processor> - - <processor state="error" enableJmx="true"> - <mailet match="All" class="MetricsMailet"> - <metricName>mailetContainerErrors</metricName> - </mailet> - <mailet match="All" class="Bounce"/> - <mailet match="All" class="ToRepository"> - <repositoryPath>file://var/mail/error/</repositoryPath> - </mailet> - </processor> - - <processor state="transport" enableJmx="true"> - <mailet match="SMTPAuthSuccessful" class="SetMimeHeader"> - <name>X-UserIsAuth</name> - <value>true</value> - </mailet> - <mailet match="HasMailAttribute=org.apache.james.SMIMECheckSignature" class="SetMimeHeader"> - <name>X-WasSigned</name> - <value>true</value> - </mailet> - <mailet match="All" class="RemoveMimeHeader"> - <name>bcc</name> - </mailet> - <mailet match="All" class="RecipientRewriteTable" /> - <mailet match="RecipientIsLocal" class="org.apache.james.jmap.mailet.VacationMailet"/> - <mailet match="RecipientIsLocal" class="Sieve"/> - <mailet match="RecipientIsLocal" class="AddDeliveredToHeader"/> - <mailet match="RecipientIsLocal" class="LocalDelivery"/> - <mailet match="HostIsLocal" class="ToProcessor"> - <processor>local-address-error</processor> - <notice>550 - Requested action not taken: no such user here</notice> - </mailet> - - <mailet match="SMTPAuthSuccessful" class="ToProcessor"> - <processor>relay</processor> - </mailet> - <mailet match="HasMailAttribute=org.apache.james.jmap.send.MailMetaData.messageId" class="ToProcessor"> - <processor>relay</processor> - </mailet> - - <mailet match="All" class="ToProcessor"> - <processor>relay-denied</processor> - </mailet> - </processor> - - <processor state="relay" enableJmx="true"> - <mailet match="All" class="RemoteDelivery"> - <outgoingQueue>outgoing</outgoingQueue> - <delayTime>5000, 100000, 500000</delayTime> - <maxRetries>25</maxRetries> - <maxDnsProblemRetries>0</maxDnsProblemRetries> - <deliveryThreads>10</deliveryThreads> - <sendpartial>true</sendpartial> - <bounceProcessor>bounces</bounceProcessor> - </mailet> - </processor> - - <processor state="spam" enableJmx="true"> - <mailet match="All" class="MetricsMailet"> - <metricName>mailetContainerSpam</metricName> - </mailet> - <mailet match="All" class="ToRepository"> - <repositoryPath>file://var/mail/spam/</repositoryPath> - </mailet> - </processor> - - <processor state="local-address-error" enableJmx="true"> - <mailet match="All" class="MetricsMailet"> - <metricName>mailetContainerLocalAddressError</metricName> - </mailet> - <mailet match="All" class="Bounce"> - <attachment>none</attachment> - </mailet> - <mailet match="All" class="ToRepository"> - <repositoryPath>file://var/mail/address-error/</repositoryPath> - </mailet> - </processor> - - <processor state="relay-denied" enableJmx="true"> - <mailet match="All" class="MetricsMailet"> - <metricName>mailetContainerRelayDenied</metricName> - </mailet> - <mailet match="All" class="Bounce"> - <attachment>none</attachment> - </mailet> - <mailet match="All" class="ToRepository"> - <repositoryPath>file://var/mail/relay-denied/</repositoryPath> - <notice>Warning: You are sending an e-mail to a remote server. You must be authenticated to perform such an operation</notice> - </mailet> - </processor> - - <processor state="bounces" enableJmx="true"> - <mailet match="All" class="MetricsMailet"> - <metricName>bounces</metricName> - </mailet> - <mailet match="All" class="DSNBounce"> - <passThrough>false</passThrough> - </mailet> - </processor> - - </processors> - -</mailetcontainer> - - http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/debian/package/etc/james/templates/mailrepositorystore.xml ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/debian/package/etc/james/templates/mailrepositorystore.xml b/dockerfiles/packaging/debian/package/etc/james/templates/mailrepositorystore.xml deleted file mode 100644 index acca810..0000000 --- a/dockerfiles/packaging/debian/package/etc/james/templates/mailrepositorystore.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0"?> - -<!-- - 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. - --> - -<mailrepositorystore> - <mailrepositories> - <!-- File based repositories. These repositories store all message data --> - <!-- in the file system. --> - <mailrepository class="org.apache.james.mailrepository.file.FileMailRepository"> - <protocols> - <protocol>file</protocol> - </protocols> - <!-- Set if the messages should be listed sorted. False by default --> - <config FIFO="false" CACHEKEYS="true"/> - </mailrepository> - </mailrepositories> -</mailrepositorystore> http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/debian/package/etc/james/templates/managesieveserver.xml ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/debian/package/etc/james/templates/managesieveserver.xml b/dockerfiles/packaging/debian/package/etc/james/templates/managesieveserver.xml deleted file mode 100644 index 7b0b85a..0000000 --- a/dockerfiles/packaging/debian/package/etc/james/templates/managesieveserver.xml +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0"?> -<!-- - 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. - --> - -<!-- - This template file can be used as example for James Server configuration - DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS ---> - -<!-- See http://james.apache.org/server/3/config.html for usage --> - -<managesieveservers> - - <managesieveserver enabled="false"> - - <jmxName>managesieveserver</jmxName> - - <bind>0.0.0.0:4190</bind> - - <connectionBacklog>200</connectionBacklog> - - <tls socketTLS="false" startTLS="false"> - <!-- To create a new keystore execute: - keytool -genkey -alias james -keyalg RSA -keystore /path/to/james/conf/keystore - --> - <keystore>file://conf/keystore</keystore> - <secret>james72laBalle</secret> - <provider>org.bouncycastle.jce.provider.BouncyCastleProvider</provider> - <!-- The algorithm is optional and only needs to be specified when using something other - than the Sun JCE provider - You could use IbmX509 with IBM Java runtime. --> - <algorithm>SunX509</algorithm> - </tls> - - <!-- connection timeout in secconds --> - <connectiontimeout>360</connectiontimeout> - - <!-- Set the maximum simultaneous incoming connections for this service --> - <connectionLimit>0</connectionLimit> - - <!-- Set the maximum simultaneous incoming connections per IP for this service --> - <connectionLimitPerIP>0</connectionLimitPerIP> - <maxmessagesize>0</maxmessagesize> - <addressBracketsEnforcement>true</addressBracketsEnforcement> - - </managesieveserver> - -</managesieveservers> - - http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/debian/package/etc/james/templates/pop3server.xml ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/debian/package/etc/james/templates/pop3server.xml b/dockerfiles/packaging/debian/package/etc/james/templates/pop3server.xml deleted file mode 100644 index df8fbef..0000000 --- a/dockerfiles/packaging/debian/package/etc/james/templates/pop3server.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<!-- - 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. - --> - - -<pop3servers> - <pop3server enabled="false"> - <jmxName>pop3server</jmxName> - <bind>0.0.0.0:110</bind> - <connectionBacklog>200</connectionBacklog> - <tls socketTLS="false" startTLS="false"> - <!-- To create a new keystore execute: - keytool -genkey -alias james -keyalg RSA -keystore /path/to/james/conf/keystore - --> - <keystore>file://conf/keystore</keystore> - <secret>james72laBalle</secret> - <provider>org.bouncycastle.jce.provider.BouncyCastleProvider</provider> - </tls> - <connectiontimeout>1200</connectiontimeout> - <connectionLimit>0</connectionLimit> - <connectionLimitPerIP>0</connectionLimitPerIP> - <handlerchain> - <handler class="org.apache.james.pop3server.core.CoreCmdHandlerLoader"/> - </handlerchain> - </pop3server> -</pop3servers> http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/debian/package/etc/james/templates/quota.xml ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/debian/package/etc/james/templates/quota.xml b/dockerfiles/packaging/debian/package/etc/james/templates/quota.xml deleted file mode 100644 index 70162e0..0000000 --- a/dockerfiles/packaging/debian/package/etc/james/templates/quota.xml +++ /dev/null @@ -1,53 +0,0 @@ -<?xml version="1.0"?> -<!-- - 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. - --> - -<!-- - This template file can be used as example for James Server configuration - DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS ---> - -<!-- See http://james.apache.org/server/3/config.html for usage --> - -<!-- - This configuration file allows you to customize the way quota are handled on this server. - You need to rename it in quota.xml so that it gets interpreted by James on startup. - - The different configuration options are detailed here. - - Read RFC-2087 for full details. ---> - -<quota> - <quotaRootResolver> - <provider>default</provider> - </quotaRootResolver> - <currentQuotaManager> - <provider>cassandra</provider> - </currentQuotaManager> - <maxQuotaManager> - <provider>cassandra</provider> - </maxQuotaManager> - <quotaManager> - <provider>store</provider> - </quotaManager> - <updates> - <provider>event</provider> - </updates> -</quota> http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/debian/package/etc/james/templates/recipientrewritetable.xml ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/debian/package/etc/james/templates/recipientrewritetable.xml b/dockerfiles/packaging/debian/package/etc/james/templates/recipientrewritetable.xml deleted file mode 100644 index 3d44578..0000000 --- a/dockerfiles/packaging/debian/package/etc/james/templates/recipientrewritetable.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0"?> -<!-- - 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. - --> - -<!-- The default table for storing James' RecipientRewriteTable mappings. --> -<recipientrewritetable> - <recursiveMapping>true</recursiveMapping> - <mappingLimit>10</mappingLimit> -</recipientrewritetable> - http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/debian/package/etc/james/templates/smtpserver.xml ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/debian/package/etc/james/templates/smtpserver.xml b/dockerfiles/packaging/debian/package/etc/james/templates/smtpserver.xml deleted file mode 100644 index bc609be..0000000 --- a/dockerfiles/packaging/debian/package/etc/james/templates/smtpserver.xml +++ /dev/null @@ -1,105 +0,0 @@ -<?xml version="1.0"?> - -<!-- - 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. - --> - -<smtpservers> - <smtpserver enabled="true"> - <jmxName>smtpserver-global</jmxName> - <bind>0.0.0.0:25</bind> - <connectionBacklog>200</connectionBacklog> - <tls socketTLS="false" startTLS="false"> - <keystore>file://conf/keystore</keystore> - <secret>james72laBalle</secret> - <provider>org.bouncycastle.jce.provider.BouncyCastleProvider</provider> - <algorithm>SunX509</algorithm> - </tls> - <connectiontimeout>360</connectiontimeout> - <connectionLimit>0</connectionLimit> - <connectionLimitPerIP>0</connectionLimitPerIP> - <authRequired>false</authRequired> - <authorizedAddresses>0.0.0.0/0</authorizedAddresses> - <verifyIdentity>true</verifyIdentity> - <maxmessagesize>0</maxmessagesize> - <addressBracketsEnforcement>true</addressBracketsEnforcement> - <smtpGreeting>JAMES Linagora's SMTP awesome Server</smtpGreeting> - <handlerchain> - <handler class="org.apache.james.smtpserver.fastfail.ValidRcptHandler"/> - <handler class="org.apache.james.smtpserver.CoreCmdHandlerLoader"/> - </handlerchain> - </smtpserver> - <smtpserver enabled="true"> - <jmxName>smtpserver-TLS</jmxName> - <bind>0.0.0.0:465</bind> - <connectionBacklog>200</connectionBacklog> - <tls socketTLS="true" startTLS="false"> - <keystore>file://conf/keystore</keystore> - <secret>james72laBalle</secret> - <provider>org.bouncycastle.jce.provider.BouncyCastleProvider</provider> - <algorithm>SunX509</algorithm> - </tls> - <connectiontimeout>360</connectiontimeout> - <connectionLimit>0</connectionLimit> - <connectionLimitPerIP>0</connectionLimitPerIP> - <!-- - Authorize only local users - --> - <authRequired>true</authRequired> - <authorizedAddresses>0.0.0.0/0</authorizedAddresses> - <!-- Trust authenticated users --> - <verifyIdentity>false</verifyIdentity> - <maxmessagesize>0</maxmessagesize> - <addressBracketsEnforcement>true</addressBracketsEnforcement> - <smtpGreeting>JAMES Linagora's SMTP awesome Server</smtpGreeting> - <handlerchain> - <handler class="org.apache.james.smtpserver.fastfail.ValidRcptHandler"/> - <handler class="org.apache.james.smtpserver.CoreCmdHandlerLoader"/> - </handlerchain> - </smtpserver> - <smtpserver enabled="true"> - <jmxName>smtpserver-authenticated</jmxName> - <bind>0.0.0.0:587</bind> - <connectionBacklog>200</connectionBacklog> - <tls socketTLS="false" startTLS="true"> - <keystore>file://conf/keystore</keystore> - <secret>james72laBalle</secret> - <provider>org.bouncycastle.jce.provider.BouncyCastleProvider</provider> - <algorithm>SunX509</algorithm> - </tls> - <connectiontimeout>360</connectiontimeout> - <connectionLimit>0</connectionLimit> - <connectionLimitPerIP>0</connectionLimitPerIP> - <!-- - Authorize only local users - --> - <authRequired>true</authRequired> - <authorizedAddresses>0.0.0.0/0</authorizedAddresses> - <!-- Trust authenticated users --> - <verifyIdentity>false</verifyIdentity> - <maxmessagesize>0</maxmessagesize> - <addressBracketsEnforcement>true</addressBracketsEnforcement> - <smtpGreeting>JAMES Linagora's SMTP awesome Server</smtpGreeting> - <handlerchain> - <handler class="org.apache.james.smtpserver.fastfail.ValidRcptHandler"/> - <handler class="org.apache.james.smtpserver.CoreCmdHandlerLoader"/> - </handlerchain> - </smtpserver> -</smtpservers> - - http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/debian/package/etc/james/templates/usersrepository.xml ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/debian/package/etc/james/templates/usersrepository.xml b/dockerfiles/packaging/debian/package/etc/james/templates/usersrepository.xml deleted file mode 100644 index c745677..0000000 --- a/dockerfiles/packaging/debian/package/etc/james/templates/usersrepository.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0"?> -<!-- - 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. - --> - -<usersrepository name="LocalUsers"> - <algorithm>MD5</algorithm> - <enableVirtualHosting>true</enableVirtualHosting> - <enableForwarding>true</enableForwarding> -</usersrepository> - http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/debian/package/etc/james/templates/webadmin.properties ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/debian/package/etc/james/templates/webadmin.properties b/dockerfiles/packaging/debian/package/etc/james/templates/webadmin.properties deleted file mode 100644 index 36b6f1e..0000000 --- a/dockerfiles/packaging/debian/package/etc/james/templates/webadmin.properties +++ /dev/null @@ -1,41 +0,0 @@ -# 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. - -# This template file can be used as example for James Server configuration -# DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS - -enabled=true -port=8000 -host=localhost - -# Defaults to false -https.enabled=false - -# Compulsory when enabling HTTPS -#https.keystore=/path/to/keystore -#https.password=password - -# Optional when enabling HTTPS (self signed) -#https.trust.keystore -#https.trust.password - -# Defaults to false -#jwt.enabled=true - -# Defaults to false -#cors.enable=true -#cors.origin \ No newline at end of file http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/debian/package/usr/lib/.gitkeep ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/debian/package/usr/lib/.gitkeep b/dockerfiles/packaging/debian/package/usr/lib/.gitkeep deleted file mode 100644 index e69de29..0000000 http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/debian/package/usr/share/james/.gitkeep ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/debian/package/usr/share/james/.gitkeep b/dockerfiles/packaging/debian/package/usr/share/james/.gitkeep deleted file mode 100644 index e69de29..0000000 http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/debian/package/var/lib/james/.gitkeep ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/debian/package/var/lib/james/.gitkeep b/dockerfiles/packaging/debian/package/var/lib/james/.gitkeep deleted file mode 100644 index e69de29..0000000 http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/debian/package/var/log/james/.gitkeep ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/debian/package/var/log/james/.gitkeep b/dockerfiles/packaging/debian/package/var/log/james/.gitkeep deleted file mode 100644 index e69de29..0000000 http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/james.postinst ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/james.postinst b/dockerfiles/packaging/james.postinst new file mode 100644 index 0000000..82306a7 --- /dev/null +++ b/dockerfiles/packaging/james.postinst @@ -0,0 +1,6 @@ +#! /bin/sh -e + +ln -s /etc/james /var/lib/james/conf + +systemctl enable james + http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/james.rpm.postinst ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/james.rpm.postinst b/dockerfiles/packaging/james.rpm.postinst new file mode 100644 index 0000000..447b4c1 --- /dev/null +++ b/dockerfiles/packaging/james.rpm.postinst @@ -0,0 +1,8 @@ +#! /bin/sh -e + +ln -s /etc/james /var/lib/james/conf + +#Workaround waiting for https://github.com/jordansissel/fpm/issues/1163 to be released +cp /usr/share/james/james.service /etc/systemd/system/ +systemctl enable james + http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/james.rpm.postremove ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/james.rpm.postremove b/dockerfiles/packaging/james.rpm.postremove new file mode 100644 index 0000000..d70a3ed --- /dev/null +++ b/dockerfiles/packaging/james.rpm.postremove @@ -0,0 +1,7 @@ +#! /bin/sh -e + +#Workaround waiting for https://github.com/jordansissel/fpm/issues/1163 to be released +systemctl stop james +systemctl disable james +rm /etc/systemd/system/james.service + http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/james.rpm.postupgrade ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/james.rpm.postupgrade b/dockerfiles/packaging/james.rpm.postupgrade new file mode 100644 index 0000000..8e2c81c --- /dev/null +++ b/dockerfiles/packaging/james.rpm.postupgrade @@ -0,0 +1,5 @@ +#! /bin/sh -e + +#Workaround waiting for https://github.com/jordansissel/fpm/issues/1163 to be released +systemctl try-restart james + http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/james.service ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/james.service b/dockerfiles/packaging/james.service new file mode 100644 index 0000000..1d91477 --- /dev/null +++ b/dockerfiles/packaging/james.service @@ -0,0 +1,34 @@ +[Unit] +Description=James stands for Java Apache Mail Enterprise Server! It has a modular architecture based on a rich set of modern and efficient components which provides at the end complete, stable, secure and extendable Mail Servers running on the JVM. +Documentation=http://james.apache.org +Wants=network-online.target cassandra.service elasticsearch.service +After=network-online.target cassandra.service elasticsearch.service + +[Service] +Environment=WORKING_DIRECTORY=/var/lib/james +Environment=XMX=1024m + +User=root +Group=root + +ExecStart=/usr/bin/java -Dworking.directory=${WORKING_DIRECTORY} -Xmx${XMX} -Dlogback.configurationFile=/etc/james/logback.xml -jar /usr/share/james/james-server.jar + +StandardOutput=journal +StandardError=inherit + +# Specifies the maximum number of bytes of memory that may be locked into RAM +# Set to "infinity" if you use the 'bootstrap.mlockall: true' option +# in elasticsearch.yml and 'MAX_LOCKED_MEMORY=unlimited' in /etc/default/elasticsearch +#LimitMEMLOCK=infinity + +# SIGTERM signal is used to stop the Java process +KillSignal=SIGTERM + +# Java process is never killed +SendSIGKILL=no + +# When a JVM receives a SIGTERM signal it exits with code 143 +SuccessExitStatus=143 + +[Install] +WantedBy=multi-user.target http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/package.sh ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/package.sh b/dockerfiles/packaging/package.sh new file mode 100755 index 0000000..fa5a281 --- /dev/null +++ b/dockerfiles/packaging/package.sh @@ -0,0 +1,61 @@ +#!/bin/sh -e + +printUsage() { + echo "Usage : " + echo "./package.sh RELEASE ITERATION" + echo " RELEASE : The release to be generated." + echo " ITERATION: The iteration to give to the package." + exit 1 +} + +if [ "$#" -ne 2 ]; then + printUsage +fi + +RELEASE=$1 +ITERATION=$2 + +fpm -s dir -t deb \ + -n james \ + -v $RELEASE \ + -a x86_64 \ + -d openjdk-8-jre \ + -C package \ + --deb-systemd james.service \ + --after-install james.postinst \ + --provides mail-transport-agent \ + --provides default-mta \ + --iteration $ITERATION \ + --license http://www.apache.org/licenses/LICENSE-2.0 \ + --description "$(printf "James stands for Java Apache Mail Enterprise Server!\nIt has a modular architecture based on a rich set of modern and efficient components which provides at the end complete, stable, secure and extendable Mail Servers running on the JVM.")" \ + --vendor "Apache" \ + --maintainer "Apache" \ + --url http://james.apache.org/ \ + --category web \ + . + +#Workaround waiting for https://github.com/jordansissel/fpm/issues/1163 to be released +cp james.service package/usr/share/james + +fpm -s dir -t rpm \ + -n james \ + -v $RELEASE \ + -a x86_64 \ + -d java-1.8.0-openjdk-headless \ + -C package \ + --after-install james.rpm.postinst \ + --after-upgrade james.rpm.postupgrade \ + --after-remove james.rpm.postremove \ + --provides mail-transport-agent \ + --provides default-mta \ + --iteration $ITERATION \ + --license http://www.apache.org/licenses/LICENSE-2.0 \ + --description "$(printf "James stands for Java Apache Mail Enterprise Server!\nIt has a modular architecture based on a rich set of modern and efficient components which provides at the end complete, stable, secure and extendable Mail Servers running on the JVM.")" \ + --vendor "Apache" \ + --maintainer "Apache" \ + --url http://james.apache.org/ \ + --category web \ + . + +cp /packages/james*.deb /result/ +cp /packages/james*.rpm /result/ http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/package/etc/james/templates/cassandra.properties ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/package/etc/james/templates/cassandra.properties b/dockerfiles/packaging/package/etc/james/templates/cassandra.properties new file mode 100644 index 0000000..426a35c --- /dev/null +++ b/dockerfiles/packaging/package/etc/james/templates/cassandra.properties @@ -0,0 +1,6 @@ +# Configuration file for cassandra mailbox +cassandra.nodes=127.0.0.1 +cassandra.keyspace=apache_james +cassandra.replication.factor=1 +cassandra.retryConnection.maxRetries=10 +cassandra.retryConnection.minDelay=5000 http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/package/etc/james/templates/dnsservice.xml ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/package/etc/james/templates/dnsservice.xml b/dockerfiles/packaging/package/etc/james/templates/dnsservice.xml new file mode 100644 index 0000000..0978a00 --- /dev/null +++ b/dockerfiles/packaging/package/etc/james/templates/dnsservice.xml @@ -0,0 +1,29 @@ +<?xml version="1.0"?> +<!-- + 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. + --> + +<dnsservice> + <servers> + <server>8.8.8.8</server> + <server>62.210.16.6</server> + </servers> + <autodiscover>false</autodiscover> + <authoritative>false</authoritative> + <maxcachesize>50000</maxcachesize> +</dnsservice> http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/package/etc/james/templates/domainlist.xml ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/package/etc/james/templates/domainlist.xml b/dockerfiles/packaging/package/etc/james/templates/domainlist.xml new file mode 100644 index 0000000..a9e3da7 --- /dev/null +++ b/dockerfiles/packaging/package/etc/james/templates/domainlist.xml @@ -0,0 +1,28 @@ +<?xml version="1.0"?> +<!-- + 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. + --> + +<domainlist> + <domainnames> + <domainname>yourdomain.org</domainname> + </domainnames> + <autodetect>true</autodetect> + <autodetectIP>true</autodetectIP> + <defaultDomain>localhost</defaultDomain> +</domainlist> http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/package/etc/james/templates/elasticsearch.properties ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/package/etc/james/templates/elasticsearch.properties b/dockerfiles/packaging/package/etc/james/templates/elasticsearch.properties new file mode 100644 index 0000000..cf1daac --- /dev/null +++ b/dockerfiles/packaging/package/etc/james/templates/elasticsearch.properties @@ -0,0 +1,42 @@ +# 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. + +# This template file can be used as example for James Server configuration +# DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS + +# Configuration file for ElasticSearch + +elasticsearch.masterHost=127.0.0.1 +elasticsearch.port=9300 + +# You can alternatively provide a list of hosts following this format : +# elasticsearch.hosts=host1:9300,host2:9300 + +elasticsearch.nb.shards=1 +elasticsearch.nb.replica=0 +elasticsearch.retryConnection.maxRetries=7 +elasticsearch.retryConnection.minDelay=3000 +# Index or not attachments (default value: true) +elasticsearch.indexAttachments=true + +# Reports for metrics into ElasticSearch +# Defaults to elasticsearch.masterHost : on which server to publish metrics +elasticsearch.http.host=elasticsearch +elasticsearch.http.port=9200 +elasticsearch.metrics.reports.enabled=true +elasticsearch.metrics.reports.period=30 +elasticsearch.metrics.reports.index=james-metrics http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/package/etc/james/templates/imapserver.xml ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/package/etc/james/templates/imapserver.xml b/dockerfiles/packaging/package/etc/james/templates/imapserver.xml new file mode 100644 index 0000000..8ccb117 --- /dev/null +++ b/dockerfiles/packaging/package/etc/james/templates/imapserver.xml @@ -0,0 +1,54 @@ +<?xml version="1.0"?> + +<!-- +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. +--> + + +<imapservers> + <imapserver enabled="true"> + <jmxName>imapserver</jmxName> + <bind>0.0.0.0:143</bind> + <connectionBacklog>200</connectionBacklog> + <tls socketTLS="false" startTLS="true"> + <!-- To create a new keystore execute: + keytool -genkey -alias james -keyalg RSA -keystore /path/to/james/conf/keystore + --> + <keystore>file://conf/keystore</keystore> + <secret>james72laBalle</secret> + <provider>org.bouncycastle.jce.provider.BouncyCastleProvider</provider> + </tls> + <connectionLimit>0</connectionLimit> + <connectionLimitPerIP>0</connectionLimitPerIP> + </imapserver> + <imapserver enabled="true"> + <jmxName>imapserver-ssl</jmxName> + <bind>0.0.0.0:993</bind> + <connectionBacklog>200</connectionBacklog> + <tls socketTLS="true" startTLS="false"> + <!-- To create a new keystore execute: + keytool -genkey -alias james -keyalg RSA -keystore /path/to/james/conf/keystore + --> + <keystore>file://conf/keystore</keystore> + <secret>james72laBalle</secret> + <provider>org.bouncycastle.jce.provider.BouncyCastleProvider</provider> + </tls> + <connectionLimit>0</connectionLimit> + <connectionLimitPerIP>0</connectionLimitPerIP> + </imapserver> +</imapservers> http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/package/etc/james/templates/jmap.properties ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/package/etc/james/templates/jmap.properties b/dockerfiles/packaging/package/etc/james/templates/jmap.properties new file mode 100644 index 0000000..6c2f219 --- /dev/null +++ b/dockerfiles/packaging/package/etc/james/templates/jmap.properties @@ -0,0 +1,13 @@ +# Configuration file for JMAP + +enabled=false + +tls.keystoreURL=file://conf/your_keystore +tls.secret=your_keystore_secret + +# +# If you wish to use OAuth authentication, you should provide a valid JWT public key. +# The following entry specify the link to the URL of the public key file, +# which should be a PEM format file. +# +jwt.publickeypem.url=file://conf/jwt_publickey http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/package/etc/james/templates/jmx.properties ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/package/etc/james/templates/jmx.properties b/dockerfiles/packaging/package/etc/james/templates/jmx.properties new file mode 100644 index 0000000..a1dbdf8 --- /dev/null +++ b/dockerfiles/packaging/package/etc/james/templates/jmx.properties @@ -0,0 +1,28 @@ +# 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. +# + +# This template file can be used as example for James Server configuration +# DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS + +# This template file can be used as example for James Server configuration +# DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS + +# See http://james.apache.org/server/3/config.html for usage + +jmx.address=127.0.0.1 +jmx.port=9999 http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/package/etc/james/templates/jwt_publickey ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/package/etc/james/templates/jwt_publickey b/dockerfiles/packaging/package/etc/james/templates/jwt_publickey new file mode 100644 index 0000000..f00e64b --- /dev/null +++ b/dockerfiles/packaging/package/etc/james/templates/jwt_publickey @@ -0,0 +1,3 @@ +-----BEGIN PUBLIC KEY----- +Your JWT public key +-----END PUBLIC KEY----- http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/package/etc/james/templates/lmtpserver.xml ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/package/etc/james/templates/lmtpserver.xml b/dockerfiles/packaging/package/etc/james/templates/lmtpserver.xml new file mode 100644 index 0000000..ce079b0 --- /dev/null +++ b/dockerfiles/packaging/package/etc/james/templates/lmtpserver.xml @@ -0,0 +1,41 @@ +<?xml version="1.0"?> +<!-- + 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. + --> + +<lmtpservers> + + <lmtpserver enabled="false"> + <jmxName>lmtpserver</jmxName> + <!-- LMTP should not be reachable from outside your network so bind it to loopback--> + <bind>127.0.0.1:24</bind> + <connectionBacklog>200</connectionBacklog> + <connectiontimeout>1200</connectiontimeout> + <!-- Set the maximum simultaneous incoming connections for this service --> + <connectionLimit>0</connectionLimit> + <!-- Set the maximum simultaneous incoming connections per IP for this service --> + <connectionLimitPerIP>0</connectionLimitPerIP> + <!-- This sets the maximum allowed message size (in kilobytes) for this --> + <!-- LMTP service. If unspecified, the value defaults to 0, which means no limit. --> + <maxmessagesize>0</maxmessagesize> + <handlerchain> + <handler class="org.apache.james.lmtpserver.CoreCmdHandlerLoader"/> + </handlerchain> + </lmtpserver> + +</lmtpservers> http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/package/etc/james/templates/logback.xml ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/package/etc/james/templates/logback.xml b/dockerfiles/packaging/package/etc/james/templates/logback.xml new file mode 100644 index 0000000..94a639f --- /dev/null +++ b/dockerfiles/packaging/package/etc/james/templates/logback.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?> +<configuration> + + <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator"> + <resetJUL>true</resetJUL> + </contextListener> + + <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> + <encoder> + <pattern>%d{HH:mm:ss.SSS} %highlight([%-5level]) %logger{15} - %msg%n%rEx</pattern> + <immediateFlush>false</immediateFlush> + </encoder> + </appender> + + <appender name="LOG_FILE" class="ch.qos.logback.core.FileAppender"> + <file>/logs/james.log</file> + <encoder> + <pattern>%d{HH:mm:ss.SSS} [%-5level] %logger{15} - %msg%n%rEx</pattern> + <immediateFlush>false</immediateFlush> + </encoder> + </appender> + + <root level="INFO"> + <appender-ref ref="CONSOLE" /> + <appender-ref ref="LOG_FILE" /> + </root> + + <logger name="com.datastax.driver.core.QueryLogger.SLOW" level="DEBUG" /> + +</configuration> http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/package/etc/james/templates/mailetcontainer.xml ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/package/etc/james/templates/mailetcontainer.xml b/dockerfiles/packaging/package/etc/james/templates/mailetcontainer.xml new file mode 100644 index 0000000..681b966 --- /dev/null +++ b/dockerfiles/packaging/package/etc/james/templates/mailetcontainer.xml @@ -0,0 +1,144 @@ +<?xml version="1.0"?> + +<!-- + 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. + --> + +<mailetcontainer enableJmx="true"> + + <context> + <postmaster>postmas...@james.minet.net</postmaster> + </context> + + <spooler> + <threads>20</threads> + </spooler> + + <processors> + <processor state="root" enableJmx="true"> + <mailet match="All" class="PostmasterAlias"/> + <mailet match="RelayLimit=30" class="Null"/> + <mailet match="All" class="ToProcessor"> + <processor>transport</processor> + </mailet> + </processor> + + <processor state="error" enableJmx="true"> + <mailet match="All" class="MetricsMailet"> + <metricName>mailetContainerErrors</metricName> + </mailet> + <mailet match="All" class="Bounce"/> + <mailet match="All" class="ToRepository"> + <repositoryPath>file://var/mail/error/</repositoryPath> + </mailet> + </processor> + + <processor state="transport" enableJmx="true"> + <mailet match="SMTPAuthSuccessful" class="SetMimeHeader"> + <name>X-UserIsAuth</name> + <value>true</value> + </mailet> + <mailet match="HasMailAttribute=org.apache.james.SMIMECheckSignature" class="SetMimeHeader"> + <name>X-WasSigned</name> + <value>true</value> + </mailet> + <mailet match="All" class="RemoveMimeHeader"> + <name>bcc</name> + </mailet> + <mailet match="All" class="RecipientRewriteTable" /> + <mailet match="RecipientIsLocal" class="org.apache.james.jmap.mailet.VacationMailet"/> + <mailet match="RecipientIsLocal" class="Sieve"/> + <mailet match="RecipientIsLocal" class="AddDeliveredToHeader"/> + <mailet match="RecipientIsLocal" class="LocalDelivery"/> + <mailet match="HostIsLocal" class="ToProcessor"> + <processor>local-address-error</processor> + <notice>550 - Requested action not taken: no such user here</notice> + </mailet> + + <mailet match="SMTPAuthSuccessful" class="ToProcessor"> + <processor>relay</processor> + </mailet> + <mailet match="HasMailAttribute=org.apache.james.jmap.send.MailMetaData.messageId" class="ToProcessor"> + <processor>relay</processor> + </mailet> + + <mailet match="All" class="ToProcessor"> + <processor>relay-denied</processor> + </mailet> + </processor> + + <processor state="relay" enableJmx="true"> + <mailet match="All" class="RemoteDelivery"> + <outgoingQueue>outgoing</outgoingQueue> + <delayTime>5000, 100000, 500000</delayTime> + <maxRetries>25</maxRetries> + <maxDnsProblemRetries>0</maxDnsProblemRetries> + <deliveryThreads>10</deliveryThreads> + <sendpartial>true</sendpartial> + <bounceProcessor>bounces</bounceProcessor> + </mailet> + </processor> + + <processor state="spam" enableJmx="true"> + <mailet match="All" class="MetricsMailet"> + <metricName>mailetContainerSpam</metricName> + </mailet> + <mailet match="All" class="ToRepository"> + <repositoryPath>file://var/mail/spam/</repositoryPath> + </mailet> + </processor> + + <processor state="local-address-error" enableJmx="true"> + <mailet match="All" class="MetricsMailet"> + <metricName>mailetContainerLocalAddressError</metricName> + </mailet> + <mailet match="All" class="Bounce"> + <attachment>none</attachment> + </mailet> + <mailet match="All" class="ToRepository"> + <repositoryPath>file://var/mail/address-error/</repositoryPath> + </mailet> + </processor> + + <processor state="relay-denied" enableJmx="true"> + <mailet match="All" class="MetricsMailet"> + <metricName>mailetContainerRelayDenied</metricName> + </mailet> + <mailet match="All" class="Bounce"> + <attachment>none</attachment> + </mailet> + <mailet match="All" class="ToRepository"> + <repositoryPath>file://var/mail/relay-denied/</repositoryPath> + <notice>Warning: You are sending an e-mail to a remote server. You must be authenticated to perform such an operation</notice> + </mailet> + </processor> + + <processor state="bounces" enableJmx="true"> + <mailet match="All" class="MetricsMailet"> + <metricName>bounces</metricName> + </mailet> + <mailet match="All" class="DSNBounce"> + <passThrough>false</passThrough> + </mailet> + </processor> + + </processors> + +</mailetcontainer> + + http://git-wip-us.apache.org/repos/asf/james-project/blob/a7959458/dockerfiles/packaging/package/etc/james/templates/mailrepositorystore.xml ---------------------------------------------------------------------- diff --git a/dockerfiles/packaging/package/etc/james/templates/mailrepositorystore.xml b/dockerfiles/packaging/package/etc/james/templates/mailrepositorystore.xml new file mode 100644 index 0000000..acca810 --- /dev/null +++ b/dockerfiles/packaging/package/etc/james/templates/mailrepositorystore.xml @@ -0,0 +1,34 @@ +<?xml version="1.0"?> + +<!-- + 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. + --> + +<mailrepositorystore> + <mailrepositories> + <!-- File based repositories. These repositories store all message data --> + <!-- in the file system. --> + <mailrepository class="org.apache.james.mailrepository.file.FileMailRepository"> + <protocols> + <protocol>file</protocol> + </protocols> + <!-- Set if the messages should be listed sorted. False by default --> + <config FIFO="false" CACHEKEYS="true"/> + </mailrepository> + </mailrepositories> +</mailrepositorystore> --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org