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 Policies
        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 Edition to Percona Server for MongoDBAdding sender IP addressesDeduplication request settingsPostgreSQL 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
      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
      Custom channels guidearrow
    • OverviewCreating and configuring a channelEntity field configurationTemplate languageEntities
        Pipesarrow
      • Pipe: Basic ConceptsResultErrorsLogPackUnpackHTTP RequestStore SetStore GetSelectorSQLEventerScheduler
        Pipelinesarrow
      • Pipeline: Basic ConceptsMessageScheduleListenerModerateStop
      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​

Altcraft platform can be installed on a physical server as well as on a virtual machine.

It is necessary to choose hardware based on the specific needs of your tasks. To clarify the requirements in your case, please send a request to support@altcraft.com.

Deployment architecture​

It is recommended to place key components on separate servers:

  • Database server — PostgreSQL and MongoDB
  • Message queue server — RabbitMQ
  • Control module server — AKD
  • Sending module server — AKMTA

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 is made without considering the storage of generated content on the platform side. The number of operations and inodes on disks should not be limited.

**** The 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 (see Running the platform in a Docker container), depending on your preference.

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

SoftwareVersionSource
MongoDB8.0https://www.mongodb.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
xvfbLatestUbuntu repository **
cutycaptLatestUbuntu repository **

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

TCP/IP port access requirements​

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
MongoDB 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)​

DescriptionPortsAccess
For send messages25 (SMTP)Ensure that all IP addresses from which you send
For receive and process complaints and FBL110 (POP3)Ensure that all IP addresses from which you send
For auto remote interact with the sender22 (SSH)Ensure that the control server communicates with the sending server

* All ports can be reassigned.

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

Last updated on Jul 1, 2026
Previous
Typical Placement in Infrastructure
Next
Admin Panel
  • User PC requirements
    • Operating systems
    • Browsers
  • 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)
© 2015 - 2026 Altcraft, LLC. All rights reserved.