The program is built for ordinary hosting, not a dedicated server. Everything below is checked by the installer on its first step, and the same list is always available afterwards in Settings → Diagnostics.
PHP
Version 7.4 or newer. The code is tested on 7.4 and on the 8.x branch.
Required extensions:
pdo_mysql— how the program reaches both its own database and the store’s;gd— product images: resizing and the watermark;mbstring— description text: length, case, trimming;xml— parsing XML and YML feeds.
Optional but useful:
zip— without it XLSX feeds cannot be read. Until it is there, load that supplier as CSV or XML;iconv— needed for suppliers who send the feed in windows-1251; without it their titles come out as garbage.
curl is not needed: feeds are downloaded over sockets.
Limits
Memory is the real limit, and it is set by the hosting rather than by the program. A feed is parsed in memory as a whole, and parsing costs roughly three times what the file weighs: at 128 MB that is a feed of about thirty thousand items, at 256 MB twice as much. Excel costs the most, as the workbook is read whole; XML and CSV are noticeably cheaper.
Two warnings for large feeds. The XML parser has a ceiling of its own at around 10 MB per file — it is lifted separately, while setting the supplier up. And on CloudLinux hosting memory is counted by what the process actually occupies, which is several times what PHP reports, so the ceiling there is lower than the arithmetic suggests.
Execution time is rarely the bottleneck: the queue is processed in batches, and if a run does not fit the limits, the batch size is reduced in the general settings.
Database and store
A MySQL database — its own or the same one the store uses — and write access to the store database. A separate database user is not required.
Cron
One scheduler job so that updates run by themselves. Not mandatory: everything can be started from the browser with a button.