Configuration file
The main platform configuration file main.json is located by default in the /opt/akd/config/ folder.
It contains parameters for placing control server components, access settings, and other configuration options.
Basic configuration
Below is an example of a standard configuration with local component placement.
{
"BASEDIR": "/opt/akd",
"MONGO_AUTH_DB": "admin",
"CONTROLDB_IP": "127.0.0.1",
"CONTROLDB_PORT": 27017,
"CONTROLDB_NAME": "control",
"CONTROLDB_USER": "altcraft",
"CONTROLDB_PASS": "abcdefghijklmnopqrstuvwxyzABCDEF",
"FILEDB_ENABLE": true,
"FILEDB_IP": "127.0.0.1",
"FILEDB_PORT": 27017,
"FILEDB_USER": "altcraft",
"FILEDB_PASS": "abcdefghijklmnopqrstuvwxyzABCDEF",
"FILEDB_NAME": "filedb",
"DEFAULT_LOG_LEVEL": "INFO",
"PRIVATE_KEY": "abcdefghijklmnopqrstuvwxyzABCDEF",
"PRODUCT_NAME": "Altcraft Platform",
"CLICKHOUSE_SYSTEM": {
"HOST": "127.0.0.1",
"PORT": 9000,
"USER": "altcraft",
"DATABASE_NAME": "altcraft_system",
"PASSWORD": "abcdefghijklmnopqrstuvwxyzABCDEF",
"IS_DEBUG": false
},
"SSDB_HBSUPP_IP": "127.0.0.1",
"SSDB_HBSUPP_PASS": "abcdefghijklmnopqrstuvwxyzABCDEF",
"SSDB_HBSUPP_PORT": 4420,
"SSDB_NOTIFY_IP": "127.0.0.1",
"SSDB_NOTIFY_PASS": "abcdefghijklmnopqrstuvwxyzABCDEF",
"SSDB_NOTIFY_PORT": 4430,
"RABBITMQ_HOST": "127.0.0.1",
"RABBITMQ_VHOST": "altcraft",
"RABBITMQ_USER": "altcraft",
"RABBITMQ_PASS": "abcdefghijklmnopqrstuvwxyzABCDEF",
"CAMP_DUPLICATESDB": {
"MODE": "standalone",
"PASSWORD": "abcdefghijklmnopqrstuvwxyzABCDEF",
"NODES": [
{
"HOST": "127.0.0.1",
"PORT": 6666
}
]
},
"PROCWORKFLOW_DISTRIBUTED_CACHE_DB": {
"MODE": "standalone",
"PASSWORD": "abcdefghijklmnopqrstuvwxyzABCDEF",
"NODES": [
{
"HOST": "127.0.0.1",
"PORT": 6666
}
]
},
"WEBAPI_PRIVATE_KEY": "abcdefghijklmnopqrstuvwxyzABCDEF",
"WEBCONTROL_HOSTNAME": "altcraft.domain.com",
"WEBCONTROL_PUBLIC_IP": "192.168.0.1",
"WEBCONTROL_PUBLIC_PORT": 80,
"TRACKING_CRYPT_KEY": "abcdefghijklmnopqrstuvwxyzABCDEF",
"TRACKING_HOSTNAME": "click.domain.com",
"TRACKING_PREFIX": "click",
"TRACKING_PUBLIC_IP": "192.168.0.2",
"TRACKING_PUBLIC_PORT": 80,
"COOKIESAVER_PUBLIC_HOSTNAME": "pxl.domain.com",
"COOKIESAVER_PUBLIC_IP": "192.168.0.3",
"COOKIESAVER_PUBLIC_PORT": 80,
"COOKIESAVER_SSL_ON": false
}
General settings
General parameters
PRODUCT_NAME string
Description: Product name
Default: "ALTCRAFT"
Required: Yes
INSTANCE_NAME string
Description: Platform instance name
Default: "MAIN"
Required: No
TARIF_CHECK_PERIOD_SEC int
Description: Interval to check expiration of limits for tariffs
Default: 60
Required: No
Network
DEFAULT_HTTP_RETRY_COUNT int
Description: Number of HTTP reconnection attempts
Default: 3
Required: No
DEFAULT_HTTP_RETRY_DELAYSEC int
Description: Interval between HTTP reconnection attempts
Default: 5
Required: No
HTTP_PROXY string
Description: Proxy server for HTTP connections
Default: None
Required: No
LICENSE_PROXY string
Description: Proxy server for HTTP connections with the License server
Default: "HTTP_PROXY"
Required: No
LONG_REQUEST_TIMEOUT_SEC int
Description: Timeout for long-running requests
Default: 840
Required: No
SSH_CONNECTION_TIMEOUT int
Description: SSH connection timeout in seconds, 0 = infinite
Default: 60
Required: No
SSH_CACHE_CONNECTION_TIMEOUT int
Description: Timeout for cached SSH connections, 0 = infinite
Default: 60
Required: No
File paths
BASEDIR string
Description: Platform installation directory
Default: "/opt/akd/"
Required: Yes
UPLOAD_PATH string
Description: Directory for temporary storage of uploaded files
Default: "{BASED}/tmp"
Required: No
PIDS_PATH string
Description: Directory for storing PID files
Default: "{BASED}/pids"
Required: No
LOGS_PATH string
Description: Directory for storing log files
Default: "{BASED}/logs"
Required: No
GEODB_PATH string
Description: Directory for storing geodata database
Default: "{BASED}/geo"
Required: No
JSON_CONSTS_PATH string
Description: Directory for storing system constants
Default: "{BASED}/json_consts"
Required: No
TEMPLATES_PATH string
Description: Directory for storing web interface templates
Default: "{BASED}/templates"
Required: No
LANGUAGE_PATH string
Description: Directory for storing localization files
Default: "{BASED}/klukva/languages"
Required: No
UNIX_SOCKETS_PATH string
Description: Directory for storing UNIX sockets
Default: "{BASED}/socks"
Required: No
CUTYCAPT_PATH string
Description: Directory for the Cutycapt utility
Default: The platform will try to find the path via the PATH variable, searching for "cutycapt" or "CutyCapt"
Required: No
Temporary file cleanup
AUTOCLEAN_TMP_DAYS int
Description: Frequency of automatic cleanup of temporary files
Default: 30 (days)
Required: No
AUTOCLEAN_EXPORT_API_DAYS int
Description: Frequency of automatic cleanup of API export files
Default: 7 (days)
Required: No
Unix domain sockets
PREFER_UNIX_SOCKETS bool
Description: Enable UNIX sockets for all available processes
Default: false
Required: No
UNIX_SOCKETS_USER string
Description: Username for UNIX sockets
Default: "nginx"
Required: No
UNIX_SOCKETS_GROUP string
Description: Access group for UNIX sockets
Default: "nginx"
Required: No
Password requirements
PASSWORDS_MIN_LENGTH int
Description: Minimum password length
Default: 8
Required: No
PASSWORDS_MAX_LENGTH int
Description: Maximum password length
Default: 32
Required: No
PASSWORDS_STRENGTH int
Description: Password complexity level:
- 0 — any characters
- 1 — excludes dictionary words and usernames
- 2 — all of the above, plus must contain digits and special characters
Default: 2
Required: No
PASSWORDS_MAX_AGE int
Description: Maximum password lifetime (in seconds), 0 means no limit
Default: 0
Required: No
RPC connection settings
RPC_TOKEN string
Description: RPC server authorization token
Default: "abcdefghiasdwqedwqjklmnopqrstuvwxyzABCDEF"
Required: No
RPC_HOST string
Description: RPC server address
Default: "127.0.0.1"
Required: No
RPC_PORT string
Description: RPC server port
Default: "8972"
Required: No
RPC_SELECT_MODE int
Description: RPC connection selection mode:
- 0 — Random
- 1 — Round Robin
- 2 — Weighted Round Robin
- 3 — Weighted ICMP (selection by weighted ping time)
- 4 — Consistent Hash
- 5 — Closest
Default: 0
Required: No
Task server settings
PROC_TASK_RPC_TIMEOUT int
Description: RPC connection timeout with the task handler
Default: 5
Required: No
PROC_TASK_COUNT_WORKERS int
Description: Number of handlers in each group. No more than 1 per CPU core
Default: 2
Required: No
PROCTASK_READER_GROUP_SIZE int
Description: Number of handler groups
Default: 4
Required: No
PROCTASK_TASK_READING_PERIOD_MS int
Description: Interval between task requests from MongoDB. To remove pauses between requests, set this parameter to -1
Default: 3000
Required: No
PROC_TASK_TTL_HOUR int
Description: Task processing timeout
Default: 720 (hours)
Required: No
PROC_TASK_PROGRESS_PERIOD int
Description: Task progress update interval
Default: 5 (seconds)
Required: No
PROC_TASK_RPC_CONNECTION_TIMEOUT int
Description: Connection timeout duration
Default: 15 (seconds)
Required: No
PROC_TASK_RPC_READ_TIMEOUT int
Description: Request wait time after which the connection closes (0 = no timeout)
Default: 60 (seconds)
Required: No
PROC_TASK_SELECT_MODE string
Description: Handler operation mode:
- RoundRobin — cyclic operation
- RandomSelect — random handler selection
Default: "RoundRobin"
Required: No
PROC_TASK_COPY_HISTORY_RANGE_MODE string
Description: Profile history copy mode:
- full_period_mode — copies history for the entire period
- range_period_mode — copies history for a specified range (in days)
Default: "full_period_mode"
Required: No
PROC_TASK_COPY_HISTORY_RANGE_DAYS int
Description: Number of days for range_period_mode
Default: 3
Required: No
PROC_TASK_RESERVED_TASK_IDLE_TIME_LIMIT_MIN int
Description: Max idle time in reserved status
Default: 5
Required: No
"CLUSTER": — clustered deployment of the platform control server
HOST_ID string
Description: ID of the current cluster replica
Default: None
Required: Yes
PROC_TASKS array
Description: List of system task handlers on cluster replicas:
"PROC_TASKS": [{
"HOST_ID": "", // unique replica ID
"RPCHOST": "", // RPC replica address
"RPCPORT": "", // RPC replica port
"FORCE_MASTER_ROLE": false // use as master server
}]
Default: None
Required: Yes
PROC_WORKFLOW array
Description: List of automation Scenario handlers on cluster replicas:
"PROC_WORKFLOW": [{
"HOST_ID": "", // unique replica ID
"RPCHOST": "", // RPC replica address
"RPCPORT": "", // RPC replica port
"FORCE_MASTER_ROLE": false // use as master server
}]
Default: None
Required: Yes
ATTEMPTS_FOR_EACH_CONNECTION int
Description: Number of attempts to establish a connection
Default: 2
Required: No
CONNECTION_FAIL_SLEEP_SEC int
Description: Interval between connection attempts
Default: 5
Required: No
Audit log
AUDIT_LOG_ENABLE bool
Description: Enables the audit log of user actions
Default: true
Required: No
AUDIT_LOG_TTL int
Description: Audit log retention period
Default: 90
Required: No
HTTP connection settings
DEFAULT_CONN_DIAL_TIMEOUT_SEC int
Description: Timeout for calling a remote server
Default: 15
Required: No
DEFAULT_CONN_TIMEOUT_SEC int
Description: Connection timeout with a remote server
Default: 120
Required: No
DEFAULT_CONN_IDLE_TIMEOUT_SEC int
Description: Lifetime of blocked connections in the pool
Default: 60
Required: No
SENDER_QUEUE_SIZE int
Description: Sender queue size
Default: 8 (no more than 8 per CPU core)
Required: No
Sender settings
SENDER_QUEUE_SIZE int
Description: Sender queue limit
Default: 2000
Required: No
SENDER_WORKER_SIZE int
Description: Number of sender workers
Default: 1
Required: No
IP address and range exclusions
BLOCKIPRANGES array
Description: Exclude IP subnets from sending
Default: None
Required: No
TRK_BLOCK_IPS array
Description: Exclude IP subnets from sending
Default: None
Required: No
Data storage
With these parameters you can override system settings of platform databases — for deployment on remote servers, including as a cluster for fault-tolerant platform operation.
RESCAN_DB_SEC int
Description: Frequency of subscriber counter updates in databases
Default: 900
Required: No
RESCAN_DB_COUNT_WORKERS int
Description: Number of profile database recalculation workers
Default: 4
Required: No
SQL_ACCOUNT_POOL_SIZE int
Description: Limit of connections in the PostgreSQL account database pool
Default: 10
Required: No
CAMPAIGN_LEDIS_DB_PATH string
Description: Path to mailing ledis_db database
Default: "{BASED}/data/ledis_db"
Required: No
MongoDB
MONGO_AUTH_DB string
Description: Database used for authorization if specified
Default: None
Required: No
MONGODB_ACCOUNT_POOL_SIZE int
Description: Limit of simultaneous connections to MongoDB for instance accounts
Default: 10
Required: No
MONGODB_RECONNECT_TIME_PERIOD int
Description: Waiting time before retrying a connection
Default: 5
Required: No
MONGODB_SOCKET_TIMEOUT_MIN int
Description: Socket timeout
Default: 30
Required: No
MongoDB/Control
CONTROLDB_NAME string
Description: Database name
Default: None
Required: Yes
CONTROLDB_IP string
Description: Database host address
Default: None
Required: Yes
CONTROLDB_PORT int
Description: Database port
Default: None
Required: Yes
CONTROLDB_USER string
Description: Database username
Default: None
Required: Yes
CONTROLDB_PASS string
Description: Password
Default: None
Required: Yes
CONTROLDB_TLS_ON bool
Description: Enable TLS mode for connection (requires additional setup of the mongod.service)
Default: None
Required: No
CONTROLDB_TLS_KEY_PATH string
Description: Path to TLS encryption key
Default: None
Required: No
CONTROLDB_TLS_CRT_PATH string
Description: Path to TLS encryption certificate
Default: None
Required: No
CONTROLDB_TLS_CA_CRT_PATH string
Description: Path to CA TLS
Default: None
Required: No
ControlDB cluster deployment
(Used instead of CONTROLDB_NAME, CONTROLDB_IP, CONTROLDB_PORT)
CONTROLDB_REPL_SET_NAME string
Description: Cluster name
Default: None
Required: No
CONTROLDB array
Description: Array with connection data for databases in the cluster
Default: None, must contain
[{
"IP": "", // Host address
"PORT": "" // Host port
}]
Required: No
ClickHouse
CLICKHOUSE_SYSTEM object
Description: Object with connection data for ClickHouse databases
Default: None, must contain
{
"HOST": "", // Host address
"PORT": 9000, // Port
"USER": "", // Username for connection
"MAX_CONNECTION": 100, // Maximum number of connections
"CONN_TIMEOUT": 15, // Connection timeout
"PASSWORD": "", // User password
"IS_DEBUG": false, // Enable/disable debug mode
"DATABASE_NAME": "" // Database name (default - altcraft_system)
}
Deployment in ClickHouse replica:
{
"HOST": "", // Host address
"PORT": 9000, // Port
"USER": "", // Username for connection
"MAX_CONNECTION": 100, // Maximum number of connections
"CONN_TIMEOUT": 15, // Connection timeout
"PASSWORD": "", // User password
"IS_DEBUG": false, // Enable/disable debug mode
"DATABASE_NAME": "", // Database name (default - altcraft_system)
"ALT_HOSTS": [ // List of hosts for load balancing
{
"HOST": "", // Host address
"PORT": 9000 // Port
}
],
"REPLICATED": true // Enable support for ReplicatedMergeTree replicated tables
}
The full list of parameters for the ClickHouse configuration object can be found in the table below.
Required: Yes
Kvrocks
PROCWORKFLOW_DISTRIBUTED_CACHE_DB object
Description: The settings of the distributed cache storage used by the process
Default: No
Required: Yes
CAMP_DUPLICATESDB object
Description: Redis config for duplicates database
Default: None
Required: Yes
KVR_MODE string
Description: Redis operation mode
Default: None
Required: Yes
KVR_NODES array
Description: List of nodes
Default: None
Required: Yes
KVR_USER string
Description: Username
Default: None
Required: No
KVR_PASSWORD string
Description: Password
Default: None
Required: No
KVR_DATABASE int
Description: Database number
Default: 0
Required: No
KVR_TLS_ON bool
Description: Use TLS
Default: false
Required: No
KVR_TLS_KEY_PATH string
Description: Path to TLS key
Default: None
Required: Yes, if TLS enabled
KVR_TLS_CRT_PATH string
Description: Path to TLS certificate
Default: None
Required: Yes, if TLS enabled
KVR_TLS_CA_CRT_PATH string
Description: Path to CA certificate
Default: None
Required: Yes, if TLS enabled
KVR_MAX_RETRIES int
Description: Maximum number of retries
Default: 3
Required: No
KVR_MIN_RETRY_BACKOFF int
Description: Minimum retry delay
Default: 8
Required: No
KVR_MAX_RETRY_BACKOFF int
Description: Maximum retry delay
Default: 512
Required: No
KVR_DIAL_TIMEOUT int
Description: Connection establishment timeout
Default: 5
Required: No
KVR_READ_TIMEOUT int
Description: Read timeout
Default: 3
Required: No
KVR_WRITE_TIMEOUT int
Description: Write timeout
Default: 3
Required: No
KVR_POOL_FIFO bool
Description: Pool logic
Default: false
Required: No
KVR_POOL_SIZE int
Description: Connection pool size
Default: 10
Required: No
KVR_POOL_TIMEOUT int
Description: Timeout for obtaining a connection
Default: KVR_READ_TIMEOUT + 1
Required: No
KVR_MIN_IDLE_CONNECTIONS int
Description: Minimum number of idle connections
Default: 0
Required: No
KVR_MAX_IDLE_CONNECTIONS int
Description: Maximum number of idle connections
Default: 0
Required: No
KVR_MAX_ACTIVE_CONNECTIONS int
Description: Maximum number of connections in the pool
Default: 0
Required: No
KVR_CONNECTION_MAX_IDLE_TIME int
Description: Maximum idle time
Default: 1800
Required: No
KVR_CONNECTION_MAX_LIFE_TIME int
Description: Maximum connection lifetime
Default: -1
Required: No
KVR_MAX_REDIRECTS int
Description: Maximum number of redirects
Default: 3
Required: No
KVR_READONLY bool
Description: Read-only mode on replicas
Default: false
Required: No
KVR_ROUTE_BY_LATENCY bool
Description: Routing by latency mode
Default: false
Required: No
KVR_ROUTE_RANDOMLY bool
Description: Random routing mode
Default: false
Required: No
KVR_MASTER_NAME string
Description: Master instance name
Default: None
Required: Yes, if Sentinel
KVR_SENTINEL_USERNAME string
Description: Sentinel user
Default: None
Required: No
KVR_SENTINEL_PASSWORD string
Description: Sentinel password
Default: None
Required: No
Account file storage (without FileDB)
ACCOUNT_FILES_DOWNLOAD_PATH string
Description: Directory for storing exported account files
Default: "{BASED}/account_files/%s/download"
Required: No
ACCOUNT_FILES_IMAGES_PATH string
Description: Directory for storing images
Default: "{BASED}/account_files/%s/images"
Required: No
ACCOUNT_FILES_THUMBS_PATH string
Description: Directory for storing image thumbnails
Default: "{BASED}/account_files/%s/thumbs"
Required: No
ACCOUNT_FILES_AVATARS_PATH string
Description: Directory for storing user avatars
Default: "{BASED}/account_files/%s/avatars_v2"
Required: No
ACCOUNT_FILES_DATA_PATH string
Description: Directory for storing files from segment conditions
Default: "{BASED}/account_files/%s/data"
Required: No
ACCOUNT_FILES_ATTACH_PATH string
Description: Directory for storing files attached to email templates
Default: "{BASED}/account_files/%s/attach"
Required: No
ACCOUNT_FILES_TABLES_PATH string
Description: Directory for storing queries to external SQL databases
Default: "{BASED}/account_files/%s/table"
Required: No
ACCOUNT_FILES_PUSH_PATH string
Description: Directory for storing archive for Safari Push notifications
Default: "{BASED}/account_files/%s/push"
Required: No
MongoDB / File — database for storing platform account files
FILEDB_NAME string
Description: Database name
Default: None
Required: Yes
FILEDB_IP string
Description: Database host address
Default: None
Required: Yes
FILEDB_PORT int
Description: Database port
Default: None
Required: Yes
FILEDB_USER string
Description: Database username
Default: None
Required: Yes
FILEDB_PASS string
Description: Password
Default: None
Required: Yes
FILEDB_TLS_ON bool
Description: Enable TLS mode for connection (requires additional setup of the mongod.service)
Default: None
Required: No
FILEDB_TLS_KEY_PATH string
Description: Path to TLS encryption key
Default: None
Required: No
FILEDB_TLS_CRT_PATH string
Description: Path to TLS encryption certificate
Default: None
Required: No
FILEDB_TLS_CA_CRT_PATH string
Description: Path to CA TLS
Default: None
Required: No
FileDB cluster deployment
(Used instead of FILEDB_NAME, FILEDB_IP, FILEDB_PORT)
FILEDB_REPL_SET_NAME string
Description: Cluster name
Default: None
Required: No
FILEDB array
Description: Array with connection data for databases in the cluster
Default: None, must contain
[{
"IP": "", // Host address
"PORT": "" // Host port
}]
Required: No
S3 / Web version — storage of web versions (used in version 67 and higher)
OBJECTS3_HOST string
Description: Storage host address for web versions
Default: None
Required: No
OBJECTS3_KEY_ID string
Description: Storage access key
Default: None
Required: No
OBJECTS3_KEY_SECRET string
Description: Secret key for storage access
Default: None
Required: No
OBJECTS3_IS_SSL bool
Description: Use encryption for connection
Default: None
Required: No
OBJECTS3_INSECURE_REQUESTS bool
Description: Disable mandatory encryption certificate validation
Default: None
Required: No
WEBVER_LEGACY_TTL_DAYS int
Description: Number of days to store web versions in Mongo if there are no policies and none are attached to the account
Default: 30
Required: No
MongoDB / Web version — database for storing web versions (deprecated)
WEBVER_MGO_HOSTNAME string
Description: Database host address for web versions
Default: None
Required: No
WEBVER_MGO_PORT int
Description: Database port for web versions
Default: None
Required: No
WEBVER_MGO_USER string
Description: Username
Default: None
Required: No
WEBVER_MGO_PASS string
Description: Password
Default: None
Required: No
SSDB
SSDB_RECONNECT_TIME_PERIOD int
Description: Waiting time before retrying a connection
Default: 5
Required: No
SSDB/Suppress
SSDB_HBSUPP_IP string
Description: Database host address
Default: None
Required: Yes
SSDB_HBSUPP_PORT int
Description: Database port
Default: None
Required: Yes
SSDB_HBSUPP_PASS string
Description: Password
Default: None
Required: Yes
SuppressDB cluster deployment
Used instead of parameters for a single database
SSDB_HBSUPP array
Description: Array with connection data for databases in the cluster
Default: None, must contain
[{
"IP": "", // Host address
"PORT": "", // Host port
"PASS": "" // Database password
}]
Required: No
SSDB/Notifier
SSDB_NOTIFY_IP string
Description: Database host address
Default: None
Required: Yes
SSDB_NOTIFY_PORT int
Description: Database port
Default: None
Required: Yes
SSDB_NOTIFY_PASS string
Description: Password
Default: None
Required: Yes
NotifierDB cluster deployment
Used instead of parameters for a single database
SSDB_NOTIFY array
Description: Array with connection data for databases in the cluster
Default: None, must contain
[{
"IP": "", // Host address
"PORT": "", // Host port
"PASS": "" // Database password
}]
Required: No
Message queue
For fault-tolerant operation, the platform connects to a RabbitMQ cluster. If a connection to one of the nodes is lost, the platform will automatically attempt to reconnect to that node or switch to other available nodes. With these parameters, you can override the location of the RabbitMQ message broker and the failover mode.
"RABBITMQ_CLUSTER":
CONNECTION_TIMEOUT int
Description: Connection timeout (in seconds), 0 = infinite
Default: 30
Required: No
HEARTBEAT_PERIOD_SEC int
Description: Interval for health check requests to the connected host (in seconds)
Default: 10
Required: No
FAIL_MODE string
Description: Reconnection mode in case of failure:
- failtry — reconnect to the current host. In this case,
STRATEGYwill not be applied. - failover — connect to the next host in the list depending on the strategy.
Default: "failtry"
Required: No
STRATEGY string
Description: Strategy determines to which node in the cluster connections will be switched:
- in_order (default) — sequentially
- weight — to the node with the highest specified weight
Default: "in_order"
Required: No
VHOST string
Description: RabbitMQ virtual host
Default: "akmp"
Required: No
HOSTS array
Description: Array with connection data for nodes in the cluster
Default:
"HOSTS": [
{
"HOST": "", // RabbitMQ host address (string)
"PORT": , // RabbitMQ port (int)
"WEIGHT": , // Node weight (int)
}
]
Required: Yes
USER string
Description: Username
Default: None
Required: Yes
PASSWORD string
Description: Password
Default: None
Required: Yes
RECONNECT_TIME_PERIOD int
Description: Waiting time before retrying a connection (in seconds)
Default: 5
Required: No
X_MESSAGE_TTL int
Description: Message time-to-live in the broker queue
Default: 86400
Required: No
CONFIRM_PUBLISH bool
Description: Allows publishing in server confirm mode
Default: true
Required: No
SSL_ON bool
Description: Enable data encryption for the connection
Default: false
Required: No
SSL_CRT_PATH string
Description: Path to SSL encryption certificate
Default: None
Required: No
SSL_KEY_PATH string
Description: Path to SSL encryption key
Default: None
Required: No
INSECURE_SKIP_VERIFY bool
Description: Allows an unencrypted connection
Default: None
Required: No
CACHE_SIZE_MB int
Description: Cache size for storing consumer identifiers (evicting, designed for 200k events); prevents processing of duplicate messages
Default: 10
Required: No
MAX_FAIL_EVENTS_COUNT int
Description: Maximum number of events that may remain unprocessed in case of failure. If the number of unprocessed events exceeds this value, some of them may be lost. With a value of 1024 the probability of loss is low, but pay attention to the log warning "Some events will dropped"
Default: 1024
Required: No
CONFIRM_CHAN_SIZE int
Description: Confirmation channel size
Default: 256
Required: No
HISTORY_EVENT_SENDER_WORKER_SIZE int
Description: Number of senders for the RMQ event queue
Default: 1
Required: No
HISTORY_EVENT_SENDER_STRATEGY string
Description: Sender selection strategy for RMQ event:
- uniform — uniform
- random — random
Default: "uniform"
Required: No
Deprecated configuration (versions 66 and below)
If the RABBITMQ_CLUSTER section is not specified in the configuration file, it will be initialized based on previous RabbitMQ configuration settings. Otherwise, all previous settings will be ignored and priority will be given to the settings specified in the RABBITMQ_CLUSTER section.
RABBITMQ_HOST string
Description: RabbitMQ host address
Default: None
Required: Yes
RABBITMQ_PORT int
Description: RabbitMQ port
Default: 5672
Required: No
RABBITMQ_USER string
Description: Username
Default: None
Required: Yes
RABBITMQ_PASS string
Description: Password
Default: None
Required: Yes
RABBITMQ_VHOST string
Description: RabbitMQ virtual host
Default: "akmp"
Required: No
RABBITMQ_RECONNECT_TIME_PERIOD int
Description: Waiting time before retrying a connection
Default: 5
Required: No
RABBITMQ_X_MESSAGE_TTL int
Description: Message time-to-live in the broker queue
Default: 86400
Required: No
API-RMQ
With these parameters you can optimize message handling for API-RMQ:
API_REQ_CONSUMER_COUNT int
Description: Number of consumers for the "api_req" queue
Default: 1
Required: No
API_REQ_CONSUMER_WORKER_SIZE int
Description: Number of workers to process messages from the "api_req" queue
Default: 16
Required: No
API_REQ_CONSUMER_PREFETCH_SIZE int
Description: Number of messages a consumer can request at once before acknowledging previously processed messages
Default: API_REQ_CONSUMER_WORKER_SIZE * 100
Required: No
API_RESP_PUBLISHER_WORKER_SIZE int
Description: Number of workers for publishing responses to the "api_resp" queue
Default: 16
Required: No
API_RESP_PUBLISHER_QUEUE_SIZE int
Description: Queue size for publishing responses. Defines how many messages can be temporarily stored before being processed
Default: 50000
Required: No
PebbleDB
Processing a large number of Action Hooks can lead to high RabbitMQ load. To offload the broker, you can use a local buffer database to read messages from the RMQ queue. In this case PebbleDB is used as the storage.
PROCHOOK_BUFFER_PEBBLEDB_ENABLE bool
Description: Enables buffer database mode
Default: false
Required: No
PROCHOOK_BUFFER_PEBBLEDB_PATH string
Description: Path to the buffer database
Default: None
Required: No
PROCHOOK_BUFFER_PEBBLEDB_INSERT_BATCH_SIZE int
Description: Insert batch size
Default: 200
Required: No
PROCHOOK_BUFFER_PEBBLEDB_BATCH_ASSEMBLING_TIME_MS int
Description: Insert batch assembly time (ms)
Default: false
Required: No
PROCHOOK_BUFFER_PEBBLEDB_SCAN_TIME_MS int
Description: Interval between scans (ms)
Default: 1500
Required: No
PROCHOOK_BUFFER_PEBBLEDB_BATCH_COMMIT_TIME_MS int
Description: Commit time for batches (ms)
Default: 500
Required: No
User interface and administrative panel
The parameters are responsible for local and network deployment of the platform’s user panel:
PRIVATE_KEY string
Description: Encryption key for working with the web interface of the platform
Default: None
Required: Yes
ALLOW_INSECURE_REQUESTS bool
Description: Disable mandatory certificate verification
Default: false
Required: No
SSL_ON bool
Description: Enable encryption for the platform interface
Default: false
Required: No
SSL_CRT_PATH string
Description: Path to SSL encryption certificate
Default: None
Required: No
SSL_KEY_PATH string
Description: Path to SSL encryption key
Default: None
Required: No
SSL_PUBLIC_PORT int
Description: Port for external encrypted connections
Default: 443
Required: No
WEBCONTROL_HOSTNAME string
Description: Domain name of the user interface
Default: None
Required: Yes
WEBCONTROL_PUBLIC_IP string
Description: External IP address of the platform web interface
Default: None
Required: Yes
WEBCONTROL_PUBLIC_PORT int
Description: Port for external connections to the platform web interface
Default: 80
Required: No
WEBCONTROL_LOCAL_IP string
Description: Local IP address of the platform web interface
Default: "127.0.0.1"
Required: No
WEBCONTROL_LOCAL_PORT int
Description: Port for local connections to the platform web interface
Default: 8080
Required: No
WEBCONTROL_PRIVATE_KEY string
Description: Encryption key for working with the platform web interface
Default: Equal to "PRIVATE_KEY"
Required: No
ADMIN_WEBCONTROL_LOCAL_IP string
Description: Local IP address of the admin interface
Default: "127.0.0.1"
Required: No
ADMIN_WEBCONTROL_LOCAL_PORT int
Description: Port for local connections to the admin interface
Default: 8081
Required: No
INVALID_LOGINS_ATTEMPTS_MAX int
Description: Maximum number of unsuccessful login attempts to the web interface
Default: 5
Required: No
INVALID_LOGINS_ATTEMPTS_SEC int
Description: Number of seconds to wait before the next login after reaching the limit of unsuccessful attempts
Default: 60
Required: No
Tracking platform module
The following parameters are used to configure the external connection of the platform tracking module, as well as internal connections of the tracking module processes with the platform control server.
General settings
TRACKING_PUBLIC_IP string
Description: Public network address of the tracking module
Default: None
Required: No
TRACKING_PUBLIC_PORT int
Description: Public network port of the tracking module
Default: 80
Required: No
TRACKING_HOSTNAME string
Description: Domain name of the tracking server
Default: "TRACKING_PREFIX + . + WEBCONTROL_HOSTNAME"
Required: No
TRACKING_TEST_HOST string
Description: Test domain name of the tracking server, overrides TRACKING_HOSTNAME. Used to display links in template previews
Default: None
Required: No
TRACKING_PREFIX string
Description: Subdomain prefix for the tracking module
Default: "trk"
Required: No
TRACKING_STATIC_PATH string
Description: Directory for storing files uploaded by users in requests to the tracking server
Default: "{BASED}/ak/static/trk"
Required: No
TRACKING_PUB_SIZE int
Description: Number of handlers to be used by tracking services’ RMQ publishers
Default: 1
Required: No
TRACKING_PUB_QUEUE_SIZE int
Description: Channel size for tracking services’ RMQ publishers
Default: 50000
Required: No
UNIQUE_ACTIONS_TTL_MIN int
Description: Estimated uniqueness period for tracking-detected actions: opens, clicks
Default: 1440
Required: No
PIXEL_COOLDOWN_TIME_MIN int
Description: Estimated uniqueness period for target actions captured by the pixel
Default: 43200
Required: No
Data encryption
TRACKING_CRYPT_KEY string
Description: Encryption key for the platform tracking module
Default: None
Required: No
TRACKING_SSL_ON bool
Description: Enable encryption for the tracking server
Default: false
Required: No
TRACKING_SSL_CRT_PATH string
Description: Path to SSL encryption certificate
Default: None
Required: No
TRACKING_SSL_KEY_PATH string
Description: Path to SSL encryption key
Default: None
Required: No
TRACKING_SSL_PUBLIC_PORT int
Description: Port for external encrypted connections to the platform tracking module
Default: 443
Required: No
Tracking cache settings
FILE_CACHE_SIZE_MB int
Description: Size of the tracking file cache
Default: 256
Required: No
MAX_CACHE_FILE_SIZE_MB int
Description: Maximum size of a tracking file stored in the cache
Default: 2
Required: No
FILE_CACHE_EXPIRE_SEC int
Description: Retention time for tracking files in the cache
Default: 300
Required: No
FILE_CACHE_ACTIVE_TIME_SEC int
Description: Interval for checking and cleaning outdated data in tracking
Default: 1
Required: No
Tracking process connections
Connection of tracking processes to the control server
trkaction
TRACKING_UNIXSOCK_PATH string
Description: Path to the UNIX socket of the process
Default: "UNIX_SOCKETS_PATH/akd-trackingnew.socket"
Required: No
TRACKING_IP string
Description: Process host address
Default: "127.0.0.1"
Required: No
TRACKING_PORT int
Description: Process port
Default: 8095
Required: No
trkpush
TRACKING_PUSH_UNIXSOCK_PATH string
Description: Path to the UNIX socket of the process
Default: "UNIX_SOCKETS_PATH/akd-trackingpush.socket"
Required: No
TRACKING_PUSH_IP string
Description: Process host address
Default: "127.0.0.1"
Required: No
TRACKING_PUSH_PORT int
Description: Process port
Default: 8100
Required: No
trkread
TRACKING_READ_UNIXSOCK_PATH string
Description: Path to the UNIX socket of the process
Default: "UNIX_SOCKETS_PATH/akd-trackingnewread.socket"
Required: No
TRACKING_READ_IP string
Description: Process host address
Default: "127.0.0.1"
Required: No
TRACKING_READ_PORT int
Description: Process port
Default: 8097
Required: No
trkimage
TRACKING_IMAGE_UNIXSOCK_PATH string
Description: Path to the UNIX socket of the process
Default: "UNIX_SOCKETS_PATH/akd-imgtrackingnew.socket"
Required: No
TRACKING_IMAGE_IP string
Description: Process host address
Default: "127.0.0.1"
Required: No
TRACKING_IMAGE_PORT int
Description: Process port
Default: 8096
Required: No
trkwebversion
TRACKING_WEB_VERSION_UNIXSOCK_PATH string
Description: Path to the UNIX socket of the process
Default: "UNIX_SOCKETS_PATH/akd-trackingwebversionnew.socket"
Required: No
TRACKING_WEB_VERSION_IP string
Description: Process host address
Default: "127.0.0.1"
Required: No
TRACKING_WEB_VERSION_PORT int
Description: Process port
Default: 8199
Required: No
trksms
TRACKING_SMS_UNIXSOCK_PATH string
Description: Path to the UNIX socket of the process
Default: "UNIX_SOCKETS_PATH/akd-trackingnewsms.socket"
Required: No
TRACKING_SMS_IP string
Description: Process host address
Default: "127.0.0.1"
Required: No
TRACKING_SMS_PORT int
Description: Process port
Default: 8098
Required: No
trkcustom
TRACKING_CUSTOM_CHANNELS_UNIXSOCK_PATH string
Description: Path to the UNIX socket of the process
Default: "UNIX_SOCKETS_PATH/akd-trackingnewcustomchannels.socket"
Required: No
TRACKING_CUSTOM_CHANNELS_IP string
Description: Process host address
Default: "127.0.0.1"
Required: No
TRACKING_CUSTOM_CHANNELS_PORT int
Description: Process port
Default: 8097
Required: No
TRACKING_CUSTOM_CHANNELS_PERIOD_SEC int
Description: Tracking process call interval
Default: 30
Required: No
trkmandrill
Add the "TRACKING_MANDRILL": object with the following properties:
LOCAL_PORT int
Description: Local process port
Default: 8094
Required: No
HOSTNAME string
Description: Mandrill tracking domain name
Default: "mandrill.{WEBCONTROL_HOSTNAME}"
Required: No
PUBLIC_IP string
Description: Public process host address
Default: "TRACKING_PUBLIC_IP"
Required: No
PUBLIC_PORT int
Description: Public process port
Default: 80
Required: No
trk_amazon_sns
Add the "TRACKING_AMAZON_SNS_HTTP": object with the following properties:
LOCAL_PORT int
Description: Process port
Default: 8093
Required: No
LOCAL_IP string
Description: Process host address
Default: "127.0.0.1"
Required: No
SSL int
Description: Data encryption settings
Default: None, contains two string values:
{
"CRT_PATH": "", // Path to certificate
"KEY_PATH": "" // Path to key
}
Required: No
Pixel settings
With these parameters you can override system connection settings for the cookie saver and procpush processes:
External connection
COOKIESAVER_PUBLIC_IP string
Description: Public host address of the cookie handler
Default: None
Required: No
COOKIESAVER_PUBLIC_PORT int
Description: Public port of the cookie handler
Default: 443
Required: No
COOKIESAVER_PUBLIC_HOSTNAME string
Description: Domain name of the cookie handler
Default: None
Required: No
COOKIESAVER_CACHE_EXPIRATION_SEC int
Description: Retention time for cached handler data
Default: 15 (seconds)
Required: No
COOKIESAVER_CACHE_EVENT_LIMIT int
Description: Limit on registering goals for one cookie under a specific pixel
Default: 9
Required: No
Internal connection
COOKIESAVER_UNIXSOCK_PATH string
Description: Path to the UNIX socket of the process
Default: "UNIX_SOCKETS_PATH/akd-cookiesaver.socket"
Required: No
COOKIESAVER_IP string
Description: Process host address
Default: "127.0.0.1"
Required: No
COOKIESAVER_PORT int
Description: Process port
Default: 8099
Required: No
Data encryption
COOKIESAVER_SSL_ON bool
Description: Enable encryption for the cookie handler
Default: true
Required: No
COOKIESAVER_SSL_CRT_PATH string
Description: Path to SSL encryption certificate
Default: None
Required: No
COOKIESAVER_SSL_KEY_PATH string
Description: Path to SSL encryption key
Default: None
Required: No
Platform Web API
With these parameters you can override system connection settings for the api process:
WEBAPI_UNIXSOCK_PATH string
Description: Path to the UNIX socket of the process
Default: "UNIX_SOCKETS_PATH/akd-api.socket"
Required: No
WEBAPI_LOCAL_IP string
Description: Process host address
Default: "127.0.0.1"
Required: No
WEBAPI_LOCAL_PORT int
Description: Process port
Default: 8801
Required: No
Deduplication settings
With these parameters you can configure the API request deduplication mechanism in the platform:
API_DEDUPLICATION_ENABLE bool
Description: Enable deduplication
Default: true
Required: No
API_DEDUPLICATION_LEVELDB_PATH string
Description: Directory for the LevelDB storage
Default: "data/api/deduplication"
Required: No
API_DEDUPLICATION_LIVE_TIME_SEC int
Description: Maximum number of seconds between identical requests. If more seconds pass between requests, the request will not be recorded as duplicate. Default – 1 day
Default: 86400
Required: No
API_DEDUPLICATION_PERIOD_SEC int
Description: Deduplication database cleanup period (in seconds). Default – 30 minutes
Default: 1800
Required: No
SMS event listener
With these parameters you can override system connection settings for the procsmslisten process:
SMS_LISTENER_UNIXSOCK_PATH string
Description: Path to the UNIX socket of the process
Default: "UNIX_SOCKETS_PATH/akd-smslistener.socket"
Required: No
SMS_LISTENER_IP string
Description: Process host address
Default: "127.0.0.1"
Required: No
SMS_LISTENER_PORT int
Description: Process port
Default: 8803
Required: No
Automation Scenarios
With these parameters you can override system settings of the procworkflow process, responsible for events in Altcraft Platform automation Scenarios:
WORKFLOW_TASK_REQUEUE_SEC int
Description: Interval between attempts to send a profile to an inactive chain
Default: 60
Required: No
WORKFLOW_CACHE_EXPIRATION_SEC int
Description: Event cache retention time
Default: 15
Required: No
LEADSAVER_LIST_CACHE_EXPIRATION_SEC int
Description: Retention time for profile import event cache
Default: 15
Required: No
WORKFLOW_LOOP_LIMIT int
Description: Limit on loops in a chain
Default: 20
Required: No
WORKFLOW_LOOP_AUTODELAY_SEC int
Description: Delay between loops in a chain
Default: 60
Required: No
WORKFLOW_ITERATION_LIMIT int
Description: Number of iterable tasks per call, 0 = no limit
Default: 0
Required: No
WORKFLOW_ITERATION_PERIOD_SEC int
Description: Interval between task iteration calls
Default: 3
Required: No
WORKFLOW_ITERATION_TIMEOUT_SEC int
Description: Request wait time when reading from the iteration channel
Default: 5
Required: No
WORKFLOW_RPC_TIMEOUT int
Description: RPC server response timeout
Default: 15
Required: No
WORKFLOW_KV_EXPIRATION_SEC int
Description: Retention time for task identifiers in the KV store
Default: 3600
Required: No
WORKFLOW_REQUEST_COUNT_MULTIPLIER int
Description: The tasks number multiplier. The number of tasks a node takes per request equals (WORKFLOW_REQUEST_COUNT_MULTIPLIER * WORKFLOW_WORKER_SIZE)
Default: 3
Required: No
WORKFLOW_ITERATION_BUFFER_SIZE int
Description: Buffer size for the iteration channel
Default: 0
Required: No
WORKFLOW_CONNECTION_TIMEOUT int
Description: Connection timeout duration. To configure reconnection attempt timeout, slave processes must run on different hosts
Default: 15
Required: No
WORKFLOW_READ_TIMEOUT int
Description: Request wait time after which the connection closes (0 = no timeout)
Default: 60
Required: No
WORKFLOW_TASK_TIMEOUT_SEC int
Description: Sets the maximum time a Scenario task may remain in processing. If the task does not complete within the set time (300 seconds), the worker aborts it
Default: 300
Required: No
WORKFLOW_WORKERS_DISTRIBUTION_SIZE int
Description: Number of handler groups
Default: 16
Required: No
WORKFLOW_READERS_DISTRIBUTION_SIZE int
Description: Number of handlers in each group
Default: 4
Required: No
WORKFLOW_READER_QUERY_HINT bool
Description: Forces the use of the "idx_1_t_1_a_1_c_1" index in database queries
Default: false
Required: No
WORKFLOW_FREEZE_TTL_SEC int
Description: Defines the expiration date until which workflow tasks are frozen
Default: 31536000 (365 days)
Required: No
WORKFLOW_SELECTED_MODE string
Description: Controls the operating mode of RPC clients in the workflow. Supported values:
- RandomSelect
- RoundRobin
- WeightedRoundRobin
- WeightedICMP
- ConsistentHash
- Closest
Default: "RoundRobin"
Required: No
WORKFLOW_API_NODE_DEBUG_MODE bool
Description: Enables/disables debug mode for HTTP requests in the feedback node
Default: false
Required: No
WORKFLOW_CONNECTION_MODE_NEW bool
Description: Controls the connection mode to the database and account caches:
- true — uses a shared cache, accessible by all nodes in the workflow chain
- false — each node uses its own connection
Default: true
Required: No
WORKFLOW_NODE_LOG_ROTATE int
Description: Maximum number of errors stored for each node in the database
Default: 10
Required: No
WORKFLOW_MASSCAMP_WORKER_SIZE int
Description: Number of workers for trigger campaigns in the workflow
Default: Number of logical CPU cores (up to 16)
Required: No
WORKFLOW_MASSCAMP_REFRESH_SEC int
Description: Heartbeat interval inside each trigger mailing worker in the workflow
Default: 30
Required: No
WORKFLOW_COUNTER_TIMEOUT_SEC int
Description: The interval (in seconds) after which worker counters are automatically reset during scenario execution
Default: 5
Required: No
WORKFLOW_EVENT_CONTEXT_LENGTH int
Description: The limit on the number of events whose context is stored in the scenario. The value is always greater than 1.
Default: 20
Required: No
COND_NODE_WORKER_LIMIT int
Description: Limit on the number of workers for the condition node
Default: 8
Required: No
COND_NODE_BATCH_SIZE int
Description: Size of the batch collected by the condition node worker
Default: 256
Required: No
COND_NODE_BATCHS_LIMIT int
Description: Limit on the number of batches collected by the condition node worker.
If COND_NODE_BATCHS_LIMIT is less than COND_NODE_WORKER_LIMIT, then it is set equal to COND_NODE_WORKER_LIMIT.
Default: 200
Required: No
COND_NODE_BATCH_ACCUMULATION_TIME_MS int
Description: Accumulation time for condition node tasks
Default: 300
Required: No
COND_NODE_WORKERS_OBSERVATION_PERIOD_MS int
Description: Interval for collecting reports about the state of the condition node worker pool. If the value is greater than 0 — reporting is enabled
Default: 0
Required: No
COND_NODE_BATCH_EXECUTION_TIMEOUT_MS int
Description: Maximum waiting time for processing a batch in the Condition node. If the condition check process for all records in the batch does not finish within the set time, the Scenario will return the error "Exceeded maximum processing time"
Default: 1500
Required: No
"Feedback" node — HTTP call to an external service
WORKFLOW_FEEDBACK_NODE_HTTP_TIMEOUT int
Description: HTTP request timeout to an external service
Default: 15
Required: No
WORKFLOW_FEEDBACK_NODE_SOCKS_TIMEOUT int
Description: Socket timeout
Default: 15
Required: No
WORKFLOW_FEEDBACK_NODE_RETRY_COUNT int
Description: Number of request attempts
Default: 3
Required: No
WORKFLOW_FEEDBACK_NODE_RETRY_TIMEOUT int
Description: Interval between attempts
Default: 15
Required: No
Segment settings
With these parameters you can fine-tune customer profile segmentation for working with large audiences:
SEGMENT_DISK_SORT_PATH string
Description: Directory for storing segment cache
Default: "{BASED}/data/segment/"
Required: No
SEGMENT_SORT_IN_MEM bool
Description: Enables storing segment data for sorting in memory
Default: false
Required: No
SEGMENT_ITER_CACHE_PATH string
Description: Directory for storing cache of nodes of type "Condition" in Scenarios
Default: "{BASED}/data/workflow/segment"
Required: No
SEGMENT_ITER_CACHE_DELAY_SECOND int
Description: Time for which external data in segments is cached
Default: 60
Required: No
SEGSTATIC_WORKER_SIZE int
Description: Number of static segment handlers
Default: 8 (no more than 1 per 2 CPU cores)
Required: No
SEGSTATIC_DAILY_REFRESH_HOUR int
Description: Time to start daily recalculation of static segments (hours and minutes) for which the "Update segment daily" option is enabled. The start will occur in the account’s time zone
Default: 23
Required: No
SEGSTATIC_DAILY_REFRESH_MIN int
Description: See description for SEGSTATIC_DAILY_REFRESH_HOUR
Default: 59
Required: No
SEGSTATIC_DAILY_REFRESH_COUNT int
Description: Maximum number of parallel runs of the static segment recalculation process
Default: 2
Required: No