mailtrain/config/default.toml

320 lines
10 KiB
TOML
Raw Normal View History

2016-06-23 14:45:39 +00:00
# This file is the default config file for Mailtrain. To use a environment specific
# configuration add new file {ENV}.{ext} (eg. "production.toml") to the same folder.
# {ENV} is defined by NODE_ENV environment variable.
#
# Do not modify this file directly, otherwise you might lose your modifications when upgrading
#
# You should only define the options you want to change in your additional config file.
# For example if the only thing you want to change is the port number for the www server
# then your additional config file should look like this:
# # production.toml
# [www]
# port=80
# or if you want to use Javascript instead of TOML then the same file could look like this:
# // production.js
# module.exports = {
# www: {
# port: 80
# }
# };
# Process title visible in monitoring logs and process listing
title="mailtrain"
2016-04-04 12:36:30 +00:00
2017-03-02 17:52:40 +00:00
# Enabled HTML editors
editors=["ckeditor", "codeeditor", "mosaico"]
2017-03-02 17:52:40 +00:00
2017-03-04 16:15:16 +00:00
# Default language to use
language="en"
2017-03-19 15:14:31 +00:00
# Inject custom scripts in subscription/layout.mjml.hbs
# customSubscriptionScripts=["/custom/hello-world.js"]
2017-03-19 15:14:31 +00:00
# If you start out as a root user (eg. if you want to use ports lower than 1000)
# then you can downgrade the user once all services are up and running
#user="mailtrain"
#group="mailtrain"
# If Mailtrain is started as root, "Reports" feature drops the privileges of script generating the report to disallow
# any modifications of Mailtrain code and even prohibits reading the production configuration (which contains the MySQL
# password for read/write operations). The roUser/roGroup determines the user to be used
#roUser="nobody"
#roGroup="nogroup"
2016-04-04 12:36:30 +00:00
[log]
2016-06-23 14:45:39 +00:00
# silly|verbose|info|http|warn|error|silent
2016-05-26 09:53:12 +00:00
level="verbose"
2016-04-04 12:36:30 +00:00
[www]
# HTTP port to listen on
port=3000
# HTTP port to listen on for sandboxed requests
sandboxPort=8081
2016-04-11 03:26:20 +00:00
# HTTP interface to listen on
host="0.0.0.0"
# URL base for trusted urls. It must be absolute (starting with http:// or https://). If Mailtrain is served on
# a non-standard port (e.g. 3000), the URL must also specify the port.
trustedUrlBase="http://localhost:3000"
# URL base for sandbox urls. It must be absolute (starting with http:// or https://) and contain the sandbox port.
sandboxUrlBase="http://localhost:8081"
2016-04-04 12:36:30 +00:00
# Secret for signing the session ID cookie
secret="a cat"
# Session length in seconds when "remember me" is checked
remember=2592000 # 30 days
2016-06-23 14:45:39 +00:00
# logger interface for expressjs morgan
2016-04-04 12:36:30 +00:00
log="dev"
2016-06-23 14:45:39 +00:00
# Is the server behind a proxy? true/false
# Set this to true if you are serving Mailtrain as a virtual domain through Nginx or Apache
proxy=false
2016-04-13 05:36:55 +00:00
# maximum POST body size
postSize="2MB"
2016-04-04 12:36:30 +00:00
[mysql]
host="localhost"
user="mailtrain"
password="mailtrain"
database="mailtrain"
2016-06-23 14:45:39 +00:00
# Some installations, eg. MAMP can use a different port (8889)
# MAMP users should also turn on "Allow network access to MySQL" otherwise MySQL might not be accessible
port=3306
2016-04-04 12:36:30 +00:00
charset="utf8mb4"
# The timezone configured on the MySQL server. This can be 'local', 'Z', or an offset in the form +HH:MM or -HH:MM
2016-05-03 09:36:06 +00:00
timezone="local"
2016-04-04 12:36:30 +00:00
[redis]
# enable to use Redis session cache or disable if Redis is not installed
enabled=false
host="localhost"
port=6379
db=5
2016-06-23 14:45:39 +00:00
# Uncomment if your Redis installation requires a password
#password=""
2016-04-04 12:36:30 +00:00
2016-04-11 03:26:20 +00:00
[verp]
2016-06-23 14:45:39 +00:00
# Enable to start an MX server that detects bounced messages using VERP
# In most cases you do not want to use it
# Requires root privileges
2016-04-11 03:26:20 +00:00
enabled=false
2017-02-17 13:56:55 +00:00
port=2525
2016-04-11 03:26:20 +00:00
host="0.0.0.0"
# With DMARC, the Return-Path and From address must match the same domain.
# By default we get around this by using the VERP address in the Sender header,
# with the side effect that some email clients diplay an ugly "on behalf of" message.
# You can safely disable this Sender header if you're not using DMARC or your
# VERP hostname is in the same domain as the From address.
# disablesenderheader=true
2016-04-11 03:26:20 +00:00
[ldap]
# enable to use ldap user backend
enabled=false
# method is ldapjs or ldapauth - it chooses the library to be used. If not given, it chooses the one present.
# method="ldapjs"
host="localhost"
port=3002
baseDN="ou=users,dc=company"
filter="(|(username={{username}})(mail={{username}}))"
# Username field in LDAP (uid/cn/username)
uidTag="username"
# nameTag identifies the attribute to be used for user's full name
nameTag="username"
passwordresetlink=""
newUserRole="master"
# Global namespace id
newUserNamespaceId=1
# Use a different user to bind LDAP (final bind DN will be: {{uidTag}}={{bindUser}},{{baseDN}})
2017-11-08 10:47:46 +00:00
bindUser="name@company.net"
bindPassword="mySecretPassword"
[postfixbounce]
# Enable to allow writing Postfix bounce log to Mailtrain listener
# If enabled, tail mail.log to Mailtrain with the following command:
# tail -f -n +0 /var/log/mail.log | nc localhost 5699 -
enabled=false
port=5699
# allow connections from localhost only
host="127.0.0.1"
# extra options for nodemailer
[nodemailer]
#textEncoding="base64"
2016-12-10 13:27:52 +00:00
[queue]
# How many parallel sender processes to spawn
# You can use more than 1 process only if you have Redis enabled
2016-12-10 13:27:52 +00:00
processes=1
2017-03-10 09:00:42 +00:00
2017-04-03 17:53:01 +00:00
[cors]
# Allow subscription widgets to be embedded
# origins=['https://www.example.com']
2017-03-10 09:00:42 +00:00
[mosaico]
# Installed templates
templates=[["versafix-1", "Versafix One"]]
# Inject custom scripts
# customscripts=["/mosaico/custom/my-mosaico-plugin.js"]
2017-03-10 09:00:42 +00:00
[grapejs]
# Installed templates
templates=[
["demo", "HTML Template"],
["aves", "MJML Template"]
]
2017-04-25 22:49:31 +00:00
[reports]
# The whole reporting functionality can be disabled below if the they are not needed and the DB cannot be
# properly protected.
# Reports rely on custom user defined Javascript snippets defined in the report template. The snippets are run on the
# server when generating a report. As these snippets are stored in the DB, they pose a security risk because they can
# help gaining access to the server if the DB cannot
# be properly protected (e.g. if it is shared with another application with security weaknesses).
# Mailtrain mitigates this problem by running the custom Javascript snippets in a chrooted environment and under a
# DB user that cannot modify the database (see userRO in [mysql] above). However the chrooted environment is available
# only if Mailtrain is started as root. The chrooted environment still does not prevent the custom JS script in
# performing network operations and in generating XSS attacks as part of the report.
# The bottom line is that if people who are creating report templates or have write access to the DB cannot be trusted,
# then it's safer to switch off the reporting functionality below.
enabled=false
2017-05-15 20:22:06 +00:00
2017-05-09 23:40:02 +00:00
[testserver]
# Starts a vanity server that redirects all mail to /dev/null
# Mostly needed for local development
enabled=false
port=5587
mailboxserverport=3001
host="0.0.0.0"
username="testuser"
password="testpass"
logger=false
[seleniumwebdriver]
browser="phantomjs"
2017-05-15 20:22:06 +00:00
[roles.global.master]
name="Master"
admin=true
description="All permissions"
2018-04-22 07:00:04 +00:00
permissions=["rebuildPermissions", "createJavascriptWithROAccess", "manageBlacklist", "manageSettings"]
rootNamespaceRole="master"
[roles.namespace.master]
2017-05-15 20:22:06 +00:00
name="Master"
description="All permissions"
2018-04-22 07:00:04 +00:00
permissions=["view", "edit", "delete", "share", "createNamespace", "createList", "createCustomForm", "createReport", "createReportTemplate", "createTemplate", "createMosaicoTemplate", "createSendConfiguration", "manageUsers"]
2017-05-15 20:22:06 +00:00
[roles.namespace.master.children]
2018-04-22 07:00:04 +00:00
sendConfiguration=["view", "edit", "delete", "share", "send", "overrideAllowed", "overrideAll"]
2017-08-13 18:11:58 +00:00
list=["view", "edit", "delete", "share", "manageFields", "viewSubscriptions", "manageSubscriptions", "manageSegments"]
2017-08-11 06:51:30 +00:00
customForm=["view", "edit", "delete", "share"]
campaign=["view", "edit", "delete", "share", "manageFiles"]
template=["view", "edit", "delete", "share", "manageFiles"]
report=["view", "edit", "delete", "share", "execute", "viewContent", "viewOutput"]
reportTemplate=["view", "edit", "delete", "share", "execute"]
mosaicoTemplate=["view", "edit", "delete", "share", "manageFiles"]
2018-04-22 07:00:04 +00:00
namespace=["view", "edit", "delete", "share", "createNamespace", "createList", "createCustomForm", "createReport", "createReportTemplate", "createTemplate", "createMosaicoTemplate", "createSendConfiguration", "manageUsers"]
[roles.sendConfiguration.master]
name="Master"
description="All permissions"
permissions=["view", "edit", "delete", "share", "send", "overrideAllowed", "overrideAll"]
[roles.list.master]
name="Master"
description="All permissions"
2017-08-13 18:11:58 +00:00
permissions=["view", "edit", "delete", "share", "manageFields", "viewSubscriptions", "manageSubscriptions", "manageSegments"]
[roles.customForm.master]
name="Master"
description="All permissions"
2017-08-11 06:51:30 +00:00
permissions=["view", "edit", "delete", "share"]
2017-08-13 18:11:58 +00:00
[roles.campaign.master]
name="Master"
description="All permissions"
permissions=["view", "edit", "delete", "share", "manageFiles"]
2017-08-13 18:11:58 +00:00
[roles.template.master]
name="Master"
description="All permissions"
permissions=["view", "edit", "delete", "share", "manageFiles"]
2017-08-13 18:11:58 +00:00
[roles.report.master]
name="Master"
description="All permissions"
permissions=["view", "edit", "delete", "share", "execute", "viewContent", "viewOutput"]
[roles.reportTemplate.master]
name="Master"
description="All permissions"
permissions=["view", "edit", "delete", "share", "execute"]
[roles.mosaicoTemplate.master]
name="Master"
description="All permissions"
permissions=["view", "edit", "delete", "share", "manageFiles"]
[roles.global.editor]
name="Editor"
2017-08-13 18:11:58 +00:00
description="XXX"
permissions=[]
ownNamespaceRole="editor"
2017-08-13 18:11:58 +00:00
[roles.namespace.editor]
name="Editor"
description="XXX"
permissions=["view", "edit", "delete"]
2017-08-13 18:11:58 +00:00
[roles.namespace.editor.children]
2018-04-22 07:00:04 +00:00
sendConfiguration=[]
2017-08-13 18:11:58 +00:00
list=[]
customForm=[]
campaign=[]
template=[]
report=[]
reportTemplate=[]
namespace=["view", "edit", "delete"]
2018-04-22 07:00:04 +00:00
mosaicoTemplate=[]
2017-08-13 18:11:58 +00:00
[roles.list.editor]
name="Editor"
2017-08-13 18:11:58 +00:00
description="XXX"
permissions=[]
2017-08-13 18:11:58 +00:00
[roles.customForm.editor]
name="Editor"
2017-08-13 18:11:58 +00:00
description="All permissions"
permissions=[]
2017-08-13 18:11:58 +00:00
[roles.campaign.editor]
name="Editor"
2017-08-13 18:11:58 +00:00
description="XXX"
permissions=[]
2017-08-13 18:11:58 +00:00
[roles.template.editor]
name="Editor"
2017-08-13 18:11:58 +00:00
description="XXX"
permissions=[]
[roles.report.editor]
name="Editor"
description="XXX"
permissions=[]
[roles.reportTemplate.editor]
name="Editor"
description="XXX"
permissions=[]
[roles.mosaicoTemplate.editor]
name="Editor"
2018-04-22 07:00:04 +00:00
description="XXX"
permissions=[]
[roles.sendConfiguration.editor]
name="Editor"
description="XXX"
permissions=[]