Skip to content

Requirements

Updated

Component Minimum
PHP 8.4. The locked dependencies require it: PHP 8.3 installs, then answers every request with a 500.
Database MySQL 8.0, or MariaDB 10.6 or newer
Web server Nginx or Apache, with PHP-FPM
Node.js 20.19 or newer, or 22.12 or newer, only to build the frontend assets. Vite 8 refuses to run on Node 18 and on 20 before 20.19.
Composer 2.x
Tools git, unzip, curl, cron
Disk About 130 MB for the application (code, PHP dependencies, built assets). Leave at least 2 GB free for the database, uploads and logs as they grow. node_modules (about 100 MB) is only needed while building.
Memory 1 GB works for a small install; 2 GB is comfortable with the database on the same server.

PHP extensions

Required, and checked one by one by the install wizard: bcmath, curl, dom, fileinfo, gd, intl, mbstring, openssl, pdo_mysql, tokenizer, xml, zip.

Optional: imap, only for turning email in a mailbox into support tickets (Support Mail Piping). Everything else works without it.

  • An SMTP server or relay for sending email (Configure Email).
  • A TLS certificate (Let's Encrypt is fine) before you take payments: checkout and the admin login must not run over plain HTTP.

Tested systems

The installation guide was run command by command on fresh servers:

System PHP Database
Ubuntu 24.04 LTS 8.4 (ondrej PPA) MySQL 8.0
Debian 13 8.4 (Debian) MariaDB 11.8
AlmaLinux 9 (SELinux enforcing) 8.4 (Remi) MySQL 8.0

Rocky Linux 9 uses the same commands as AlmaLinux 9.