| <!-- |
| * 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. |
| --> |
| <project name="server config" basedir="." default="server-config"> |
| <description>Creates the server configuration file.</description> |
| |
| <!-- Properties for server.config --> |
| <property name="wave_server_domain" value="local.net" /> |
| <property name="http_frontend_public_address" value="localhost:9898" /> |
| <property name="http_websocket_public_address" value="${http_frontend_public_address}" /> |
| <property name="http_websocket_presented_address" value="${http_frontend_public_address}" /> |
| <property name="http_frontend_addresses" value="${http_frontend_public_address}" /> |
| <property name="resource_bases" value="./war" /> |
| <property name="signer_info_store_type" value="file" /> |
| <property name="attachment_store_type" value="disk" /> |
| <property name="account_store_type" value="file" /> |
| <property name="delta_store_type" value="file" /> |
| <property name="signer_info_store_directory" value="_certificates" /> |
| <property name="attachment_store_directory" value="_attachments" /> |
| <property name="account_store_directory" value="_accounts" /> |
| <property name="delta_store_directory" value="_deltas" /> |
| <property name="sessions_store_directory" value="_sessions" /> |
| <property name="websocket_max_message_size" value="2" /> |
| <property name="websocket_max_idle_time" value="0" /> |
| <property name="admin_user" value="@${wave_server_domain}" /> |
| <property name="welcome_wave_id" value="" /> |
| <property name="listener_executor_thread_count" value="1" /> |
| <property name="wavelet_load_executor_thread_count" value="1" /> |
| <property name="delta_persist_executor_thread_count" value="1" /> |
| <property name="storage_continuation_executor_thread_count" value="1" /> |
| <property name="lookup_executor_thread_count" value="1" /> |
| <property name="disable_registration" value="false" /> |
| <property name="enable_ssl" value="false" /> |
| <property name="ssl_keystore_path" value="wiab.ks" /> |
| <property name="ssl_keystore_password" value="changeme" /> |
| <property name="enable_clientauth" value="false" /> |
| <property name="clientauth_cert_domain" value="" /> |
| <property name="disable_loginpage" value="false" /> |
| <property name="search_type" value="lucene" /> |
| <property name="index_directory" value="_indexes" /> |
| <property name="thumbnail_patterns_directory" value="thumbnail_patterns" /> |
| <property name="analytics_account" value="" /> |
| |
| <!-- Properties for server.federation.config --> |
| <property name="xmpp_server_secret" value="opensesame" /> |
| <property name="certificate_private_key" value="${wave_server_domain}.key" /> |
| <property name="certificate_files" value="${wave_server_domain}.crt,sub.class1.server.ca.pem,ca.pem" /> |
| <property name="certificate_domain" value="${wave_server_domain}" /> |
| <property name="xmpp_component_name" value="wave" /> |
| <property name="xmpp_jid" value="${xmpp_component_name}.${wave_server_domain}" /> |
| <property name="xmpp_server_description" value=""Wave in a Box"" /> |
| <property name="xmpp_server_hostname" value="${wave_server_domain}" /> |
| <property name="xmpp_server_component_port" value="5275" /> |
| <property name="xmpp_server_to_server_port" value="5269" /> |
| <property name="xmpp_server_ping" value="wavesandbox.com" /> |
| <property name="xmpp_server_ip" value="${xmpp_server_hostname}" /> |
| <property name="waveserver_disable_verification" value="false" /> |
| <property name="waveserver_disable_signer_verification" value="false" /> |
| |
| <target name="create-folders"> |
| <mkdir dir="${signer_info_store_directory}" /> |
| <mkdir dir="${attachment_store_directory}" /> |
| <mkdir dir="${account_store_directory}" /> |
| <mkdir dir="${delta_store_directory}" /> |
| <mkdir dir="${sessions_store_directory}" /> |
| </target> |
| |
| <target name="server-config" depends="create-folders" |
| description="Run to create the server configuration file. |
| You can pass custom values, for example: |
| ant -f server-config.xml -Dwave_server_domain=example.com"> |
| <echo>Generating server.config</echo> |
| <copy file="server.config" |
| tofile="server.config.old" |
| overwrite="true" |
| failonerror="false" /> |
| <copy file="server.config.example" tofile="server.config" overwrite="true"> |
| <filterchain> |
| <replacetokens> |
| <token key="WAVE_SERVER_DOMAIN" value="${wave_server_domain}" /> |
| <token key="HTTP_FRONTEND_PUBLIC_ADDRESS" |
| value="${http_frontend_public_address}" /> |
| <token key="HTTP_WEBSOCKET_PUBLIC_ADDRESS" |
| value="${http_websocket_public_address}" /> |
| <token key="HTTP_WEBSOCKET_PRESENTED_ADDRESS" |
| value="${http_websocket_presented_address}" /> |
| <token key="HTTP_FRONTEND_ADDRESSES" |
| value="${http_frontend_addresses}" /> |
| <token key="RESOURCE_BASES" value="${resource_bases}" /> |
| <token key="SIGNER_INFO_STORE_TYPE" value="${signer_info_store_type}" /> |
| <token key="ATTACHMENT_STORE_TYPE" value="${attachment_store_type}" /> |
| <token key="ACCOUNT_STORE_TYPE" value="${account_store_type}" /> |
| <token key="DELTA_STORE_TYPE" value="${delta_store_type}" /> |
| <token key="SIGNER_INFO_STORE_DIRECTORY" |
| value="${signer_info_store_directory}" /> |
| <token key="ATTACHMENT_STORE_DIRECTORY" |
| value="${attachment_store_directory}" /> |
| <token key="ACCOUNT_STORE_DIRECTORY" |
| value="${account_store_directory}" /> |
| <token key="DELTA_STORE_DIRECTORY" value="${delta_store_directory}" /> |
| <token key="SESSIONS_STORE_DIRECTORY" value="${sessions_store_directory}" /> |
| <token key="WEBSOCKET_MAX_MESSAGE_SIZE" value="${websocket_max_message_size}" /> |
| <token key="WEBSOCKET_MAX_IDLE_TIME" value="${websocket_max_idle_time}" /> |
| <token key="ADMIN_USER" value="${admin_user}" /> |
| <token key="WELCOME_WAVE_ID" value="${welcome_wave_id}" /> |
| <token key="LISTENER_EXECUTOR_THREAD_COUNT" value="${listener_executor_thread_count}" /> |
| <token key="WAVELET_LOAD_EXECUTOR_THREAD_COUNT" value="${wavelet_load_executor_thread_count}" /> |
| <token key="DELTA_PERSIST_EXECUTOR_THREAD_COUNT" value="${delta_persist_executor_thread_count}" /> |
| <token key="STORAGE_CONTINUATION_EXECUTOR_THREAD_COUNT" value="${storage_continuation_executor_thread_count}" /> |
| <token key="LOOKUP_EXECUTOR_THREAD_COUNT" value="${lookup_executor_thread_count}" /> |
| <token key="DISABLE_REGISTRATION" value="${disable_registration}" /> |
| <token key="ENABLE_SSL" value="${enable_ssl}" /> |
| <token key="SSL_KEYSTORE_PATH" value="${ssl_keystore_path}" /> |
| <token key="SSL_KEYSTORE_PASSWORD" value="${ssl_keystore_password}" /> |
| <token key="ENABLE_CLIENTAUTH" value="${enable_clientauth}" /> |
| <token key="CLIENTAUTH_CERT_DOMAIN" value="${clientauth_cert_domain}" /> |
| <token key="DISABLE_LOGINPAGE" value="${disable_loginpage}" /> |
| <token key="SEARCH_TYPE" value="${search_type}" /> |
| <token key="INDEX_DIRECTORY" value="${index_directory}" /> |
| <token key="ANALYTICS_ACCOUNT" value="${analytics_account}" /> |
| <token key="THUMBNAIL_PATTERNS_DIRECTORY" value="${thumbnail_patterns_directory}" /> |
| </replacetokens> |
| </filterchain> |
| </copy> |
| </target> |
| |
| <target name="server-federation-config" depends="server-config" |
| description="Run to create both the server and federation configuration files. |
| ant -f server-config.xml server-federation-config -Dserver_federation_config=server.federation.config"> |
| <echo>Generating federation.server.config</echo> |
| <copy file="server.federation.config" |
| tofile="server.federation.config.old" |
| overwrite="true" |
| failonerror="false" /> |
| <copy file="server.federation.config.example" tofile="server.federation.config" overwrite="true"> |
| <filterchain> |
| <replacetokens> |
| <token key="XMPP_SERVER_SECRET" value="${xmpp_server_secret}" /> |
| <token key="CERTIFICATE_PRIVATE_KEY" value="${certificate_private_key}" /> |
| <token key="CERTIFICATE_FILES" value="${certificate_files}" /> |
| <token key="CERTIFICATE_DOMAIN" value="${certificate_domain}" /> |
| <token key="XMPP_COMPONENT_NAME" value="${xmpp_component_name}" /> |
| <token key="XMPP_JID" value="${xmpp_jid}" /> |
| <token key="XMPP_SERVER_DESCRIPTION" value="${xmpp_server_description}" /> |
| <token key="XMPP_SERVER_HOSTNAME" value="${xmpp_server_hostname}" /> |
| <token key="XMPP_SERVER_COMPONENT_PORT" value="${xmpp_server_component_port}" /> |
| <token key="XMPP_SERVER_PING" value="${xmpp_server_ping}" /> |
| <token key="XMPP_SERVER_IP" value="${xmpp_server_ip}" /> |
| <token key="WAVESERVER_DISABLE_VERIFICATION" value="${waveserver_disable_verification}" /> |
| <token key="WAVESERVER_DISABLE_SIGNER_VERIFICATION" |
| value="${waveserver_disable_signer_verification}" /> |
| </replacetokens> |
| </filterchain> |
| </copy> |
| </target> |
| |
| <target name="prosody-config" depends="server-federation-config" |
| description="Run to create the server, federation and prosody configuration files. |
| ant -f server-config.xml server-federation-config prosody-config -Dserver_federation_config=server.federation.config"> |
| <echo>Generating ${certificate_domain}.cfg.lua</echo> |
| <copy file="${certificate_domain}.cfg.lua" |
| tofile="${certificate_domain}.cfg.lua.old" |
| overwrite="true" |
| failonerror="false" /> |
| <copy file="prosody.cfg.lua.example" tofile="${certificate_domain}.cfg.lua" overwrite="true"> |
| <filterchain> |
| <replacetokens> |
| <token key="BASEDIR" value="${basedir}" /> |
| <token key="XMPP_SERVER_SECRET" value="${xmpp_server_secret}" /> |
| <token key="CERTIFICATE_PRIVATE_KEY" value="${certificate_private_key}" /> |
| <token key="CERTIFICATE_DOMAIN" value="${certificate_domain}" /> |
| <token key="XMPP_JID" value="${xmpp_jid}" /> |
| <token key="XMPP_SERVER_DESCRIPTION" value="${xmpp_server_description}" /> |
| <token key="XMPP_SERVER_COMPONENT_PORT" value="${xmpp_server_component_port}" /> |
| <token key="XMPP_SERVER_TO_SERVER_PORT" value="${xmpp_server_to_server_port}" /> |
| </replacetokens> |
| </filterchain> |
| </copy> |
| <echo>Please, manually copy ${certificate_domain}.cfg.lua to your prosody configuration directory.</echo> |
| <echo>E.g. sudo cp ${certificate_domain}.cfg.lua /etc/prosody/conf.d/${certificate_domain}.cfg.lua</echo> |
| <echo>Additionally, ensure your ${certificate_domain} SRV record points to port ${xmpp_server_to_server_port}</echo> |
| </target> |
| </project> |