Skip to main content
Altcraft Docs LogoAltcraft Docs Logo
User guide iconUser guide
Developer guide iconDeveloper guide
Admin guide iconAdmin guide
English
  • Русский
  • English
Login
    Getting StartedAdministrator documentationFunctional characteristics
      Technology descriptionarrow
    • Architecture OverviewComponent Description
        Deployment schemesarrow
      • Basic schemeFail-safe schemeTypical Placement in Infrastructure
    System requirements
      Admin Panelarrow
      • Account areaarrow
        • Accountsarrow
        • Account UsersAccount Virtual SendersAccount Database Indexes
        TariffsExternal data configurationLDAPTasksSchedule JobsGlobal Stop ListsWebversion Store PoliciesIn-App Storage Settings
        Settingsarrow
      • Databases
          Accessarrow
        • AdminsAPI tokens
        Notifiers
          MTAarrow
        • Default rulesRetry rulesLock rulesBounce patternsStrategiesKeysISPsPools
      Nodes
        Sendersarrow
      • EmailSMSEvent generatorIntegration with Altcraft Cloud SMTPIntegration with Sendsay
        Reportsarrow
      • Audit JournalData Usage
        Toolsarrow
      • ARF decoderURL decoderSMID decoderLicense
      Platform installationarrow
    • Automatic installationManual installationRunning the platform in a Docker container
      Platform configurationarrow
    • Configuration fileDomain settingsLDAP access configurationSending Email via SMTP relayPixel and push domain configurationCluster and Replication SetupSystem notifications configurationProcesses UNIX sockets configurationHTTPS ConfigurationMigrating from MongoDB Community to Percona ServerAdding sender IP addressesData Encryption in Percona Server for MongoDBDeduplication request settingsBackup with Percona Backup for MongoDBPostgreSQL database for Market dataProxy server settingsKeycloak Integration with AltcraftGetting HTTP service statusesConfiguring MongoDB log rotation
        Configuration of system constants and directoriesarrow
      • Filtering bot actionsDirectory of gender markers
      Custom Channelsarrow
    • Creating a Channel
        Pipelinesarrow
      • MessageScheduleListenerModerateStop
          Pipesarrow
        • HTTP RequestPackUnpackEventerSchedulerSelectorSQLStore SetStore GetLogResultErrorRMQ Publisher
      External Objects (Entities)Templating LanguageSending FilesPresets (Field Sets)DebuggingTechnical Limitations
      Platform maintenancearrow
    • Personnel requirementsPlatform maintenance processesPlatform updatingBackup and recoveryTransferring the platform to a new serverCreating, deleting, and populating tables for statistics in ClickHouseUsing the aktool utilityUsers and directories engaged by the platformPlatform service monitoringProcess and mailing monitoring via Prometheus
      Extraarrow
    • System page customizationSend Message IDClickHouse History Migration GuideInstructions for migrating history to ClickHouseUtility for importing push subscriptions to Firebase projectUtility for importing push subscriptions to Firebase projectENS: настройка интеграции
    Processing HTTP/HTTPS traffic
      Administrator APIarrow
      • Accounts admin apiarrow
        • Restricted accessarrow
        • Account Activation and DeactivationAccount Freeze and Unfreeze
        Get accounts listAdd a new accountDelete the account
        Account usersarrow
      • Update an Existing AccountAdd a new userDelete a userGet a list of usersSending a Welcome Email
        Nodesarrow
      • Synchronize node MTA configurationGet nodes listGet node MTA statusActivate node MTADeactivate node MTA
        Senders admin apiarrow
      • Create or update AKMTA senderGet AKMTA sender informationAssign account to senderGet senders listDelete senderRestore sender
          Sender queuearrow
        • Get sender queue informationHold sender queueRelease sender queueClear sender queue
        Virtual sendersarrow
      • Get virtual senders listGet virtual sender informationCreate virtual senderUpdate virtual senderClone virtual senderDelete virtual sender
    Documentation Archive
  • System requirements

System requirements

User PC requirements​

Operating systems

  • Windows Vista/7/8/10
  • Mac OS X 10.5 - 11.x
  • Linux, any family OS

Browsers

  • Google Chrome, version 101 and up
  • Mozilla Firefox, version 102 and up
  • Microsoft Edge, version 101 and up
  • Opera, version 91 and up
  • Chromium, version 101 and up
  • Safari, version 15.0 and up
  • Yandex Browser, version 23.2 and up

Hardware requirements​

The platform can be deployed on both virtual and physical infrastructure.

Select hardware according to your specific needs. To clarify requirements for your case, send a request to support@altcraft.com.

Deployment architecture​

It is recommended to place key components on separate servers:

  • Database server — PostgreSQL and Percona Server for MongoDB
  • Message queue server — RabbitMQ
  • Control module server — AKD
  • Sending module server — AKMTA
  • S3 storage server — MinIO

Each database has its own memory requirements that must be taken into account when planning resources.

warning

NUMA architecture is not recommended for database servers. NUMA can lead to uneven memory distribution and performance degradation during intensive database operations.

Processor​

  • Benchmark: AMD EPYC 9354 or equivalent in performance
  • Minimum: 8 cores / 16 threads
  • Recommended: 16 cores / 32 threads

Memory​

  • Recommended capacity: 96 GB
  • Type: DDR4 (high-performance modules)

Each database (PostgreSQL, MongoDB) has its own memory requirements. When hosting multiple databases on a single server, sum their requirements.

Disk subsystem​

For servers with databases and message queues:

  • IOPS (4K random): > 15,000 operations/sec for both read and write
  • Recommended type: NVMe SSD — 4K random >= 500K IOPS read / >= 300K IOPS write, 512K sequential >= 3500 MB/s read / >= 3000 MB/s write
  • Minimum level: Enterprise SATA SSD — 4K random >= 75K IOPS read / >= 20K IOPS write, 512K sequential >= 500 MB/s read / >= 450 MB/s write

For the sending module server (AKMTA spool):

  • Standard SATA/SAS disks or network storage are acceptable

Network requirements​

  • Between services: 10 Gbit/s
  • To the internet: minimum 250 Mbit/s, recommended 1 Gbit/s

Server requirements table​

Server / ResourceMinimum requirementsRecommended requirements
Customer database sizeUp to 5 millionUp to 10 million
Daily message sending volumeUp to 1 millionUp to 5 million
Control server - CPU8 dedicated cores *16 dedicated cores *
Control server - RAM64 GB **96 GB **
Control server - Disk1 TB NVMe ***1 TB NVMe ***
Sending server - CPU4 dedicated cores *8 dedicated cores *
Sending server - RAM16 GB32 GB
Sending server - Disk0.5 TB ****1.5 TB ****

* Assumes core allocation without considering hyper-threading level of AMD EPYC 9354 or equivalent in performance.

** Additional memory allocation may be required when building suboptimal segments and automation mechanics.

*** Assumes IOPS (4K random) > 15,000 for both read and write. Recommended type — NVMe SSD: 4K random >= 500K IOPS read / >= 300K IOPS write, 512K sequential >= 3500 MB/s read / >= 3000 MB/s write. Minimum level — Enterprise SATA SSD: 4K random >= 75K IOPS read / >= 20K IOPS write, 512K sequential >= 500 MB/s read / >= 450 MB/s write. Server-class disks are preferred. The calculation does not account for storing generated content on the platform side. The number of operations and inodes on disks should not be limited.

**** Disk size is calculated for an average Email message size of 70 KB and a message lifetime of up to 72 hours. Standard SATA/SAS disks or network storage are acceptable. The number of operations and inodes on disks should not be limited.

For cluster deployment​

For cluster deployment, at least a threefold increase in resources will be required, taking into account the desirable separation of data storage locations (MongoDB, PostgreSQL).

Infrastructure requirements​

A frequent question concerns public IPv4 addresses, so the requirement is explained as a separate paragraph.

In its standard configuration, the AKD server uses three public (white) IP addresses. One is intended for the control panel, the second is needed for the user action tracking system in email and SMS messages (tracking), and the third is required for the user action tracking system in push notifications and web, as well as for implementing web layer functions, displaying forms, and popups. An SSL certificate will be required for the user action tracking system on websites.

The AKMTA email sender can use the same IP addresses as the control host for operation if it is hosted directly on it, but this configuration is not recommended. The number of required addresses depends on the individual configuration of the system and the approach to message distribution. For precise determination, consultation with a marketer specializing in email mailings is required. For a volume of up to 1 million per day, 2-4 IP addresses are recommended. For a volume of 5-10 million per day, it is recommended to have 4 to 16 IP addresses.

Here and in the following, we are talking about IPv4 addresses, as IPv6 is currently not fully supported by network service providers for sending email.

License access requirements​

To operate the application, continuous access to Altcraft license servers must be organized:

  • lic1.altkraft.com:443 TCP
  • lic2.altkraft.com:443 TCP
  • lic3.altkraft.com:443 TCP

Access can be organized through a proxy server and must be provided with each platform update and license renewal (payments). In the absence of access, the platform will stop launching new mailings, but the mechanics of already sent messages will continue to work.

Software requirements​

The control and sending servers are designed to work reliably in the following environments:

  • Ubuntu Server 22.04 LTS
  • Ubuntu Server 24.04 LTS

The platform is compatible with the following operating systems:

  • CentOS 7+
  • Red Hat Enterprise Linux 7+
  • Debian 9+
  • Astra Linux Common Edition 1.7+
  • Astra Linux Special Edition 1.8+ ( certified)
  • SUSE Linux Enterprise Server 12+
  • RED OS 7.3+ ( certified)
info

You can install it either directly on the system or using containers, for example with Docker (see Running the platform in a Docker container).

The following open-source software is used during the system installation:

SoftwareVersionSource
Percona Server for MongoDB8.0https://www.percona.com
PostgreSQL16.1https://www.postgresql.org
RabbitMQ3.12.9 (4.0+ versions are also supported)https://www.rabbitmq.com
ClickHouse24.8+ (LTS)https://clickhouse.com
KvrocksLatesthttps://github.com/apache/kvrocks
SSDB1.8.0https://github.com/ideawu/ssdb
MinIOLatesthttps://github.com/minio/minio
xvfbLatestUbuntu repository **
cutycaptLatestUbuntu repository **

** The ability to install this software from official repositories must be ensured during system installation.

TCP/IP port access requirements​

warning

If an NGFW/firewall is installed on the platform servers due to security requirements, open all ports from the AKD and AKMTA tables below in both directions between the component servers before enabling it, otherwise traffic between the platform modules is blocked. Ports may be reassigned in the configuration — check your configuration, not only the tables below. Outgoing access to the license servers (lic1, lic2, lic3.altkraft.com, port 443; see License access requirements) must also be available.

AKD Ports (Control module)​

DescriptionTCP Ports *Access
RabbitMQ Message Broker - Message Exchange5672 (AMQP), 25672 (Cluster)For the control server, for the sending server
RabbitMQ Message Broker - control15672 (HTTP)For administrators
Tracking user actions in messages (dedicated IP)80 (HTTP), 443 (HTTPS)Public, for everyone
Control panel (dedicated IP)80 (HTTP), 443 (HTTPS)Public or internal network
Tracking actions in web and web layer (dedicated IP)443 (HTTPS)Public, for everyone
Percona Server for MongoDB (MongoDB-compatible) for storing all system configurations27017For the control server
PostgreSQL5432For the control server
SSDB for storing email addresses that cannot be delivered4420For the control server
SSDB for storing notifications4430For the control server
ClickHouse for storing profile history9000For the control server
Notification of reports and security system25 (SMTP) or 465 (SMTPS)Used to connect to SMTP for sending notifications
Kvrocks for checking duplicates (contacts) in mailings6666For the control server

AKMTA Ports (Sending module)​

DescriptionTCP Ports *Access
For sending25 (SMTP)Public, for everyone
For receiving and processing complaints and FBL110 (POP3)For administrators
AKMTA management - SSH **22 (SSH)For the control server
AKMTA management - HTTPS **443 (HTTPS)For the control server

* All ports can be reassigned

** The choice of HTTPS or SSH senders management method is optional.

Antivirus exclusions​

If an antivirus is enabled on the platform servers, exclude all directories with database files and platform data from real-time and on-demand scans. A false positive can move database files to quarantine or delete service files, corrupting the databases and stopping the platform.

Example directories to exclude:

  • /var/lib/postgresql
  • /var/lib/redis
  • /var/lib/kvrocks
  • /var/lib/clickhouse
  • /var/lib/mongodb

Example of a rule by file-name mask: \.(mdb|sqlite|db|ibd)$.

The list is not exhaustive: paths depend on the actual configuration. Agree on the complete list with the product/implementation team, including /var/lib/rabbitmq, the AKMTA spool directory, and the platform installation directories. If the antivirus supports the trusted applications mechanism, add the platform processes to it.

When enabling an NGFW/firewall, also review the port requirements.

Last updated on Sep 28, 2026
Previous
Typical Placement in Infrastructure
Next
Admin Panel
  • User PC requirements
  • Hardware requirements
    • Deployment architecture
    • Processor
    • Memory
    • Disk subsystem
    • Network requirements
    • Server requirements table
    • For cluster deployment
  • Infrastructure requirements
  • License access requirements
  • Software requirements
  • TCP/IP port access requirements
    • AKD Ports (Control module)
    • AKMTA Ports (Sending module)
    • Antivirus exclusions
© 2015 - 2026 Altcraft, LLC. All rights reserved.