System Requirements
Before installing Opterius Commerce, confirm your server meets the following requirements.
Software
| Dependency | Minimum version | Notes |
|---|---|---|
| PHP | 8.3 | Extensions: BCMath, Ctype, cURL, DOM, Fileinfo, JSON, Mbstring, OpenSSL, PCRE, PDO, Tokenizer, XML, Zip |
| MySQL | 8.0 | or MariaDB 10.6+ |
| Redis | 6.0+ | Used for queues, cache, and session storage |
| Node.js | 20 LTS | Required locally to build frontend assets |
| Composer | 2.x | PHP dependency manager |
| Git | any | For cloning the repository |
[!IMPORTANT] Node.js is only required at build time. You do not need Node.js on the production server if you copy pre-built assets. See the installation guide for details.
Server Hardware
| Minimum | Recommended | |
|---|---|---|
| CPU | 1 vCPU | 2 vCPU |
| RAM | 2 GB | 4 GB |
| Disk | 20 GB SSD | 40 GB SSD |
| Bandwidth | unmetered preferred | unmetered preferred |
Supported Operating Systems
| OS | Versions |
|---|---|
| Ubuntu | 22.04 LTS, 24.04 LTS |
| Debian | 11 (Bullseye), 12 (Bookworm) |
| AlmaLinux | 8, 9 |
| Rocky Linux | 8, 9 |
[!TIP] Ubuntu 24.04 LTS is the recommended OS. It ships with up-to-date packages and receives security updates until 2029.
Networking
- Ports 80 and 443 must be open inbound
- Outbound port 25, 465, or 587 must be unblocked for email delivery (some VPS providers block these — check your provider before deploying)
- A valid domain name pointed at the server IP
- A valid SSL certificate (Let's Encrypt is fine)
Commerce requires a working outbound SMTP connection for:
- Client welcome / invoice emails
- Password reset links
- Support ticket notifications
You can use any SMTP provider (Mailgun, Postmark, SendGrid, your own Postfix, etc.). Configure credentials at Admin → Settings → Email, or in .env before the first boot.
Co-located with Opterius Panel?
If you are running Commerce on the same server as Opterius Panel, the Panel installer handles PHP, MySQL, Redis, and Nginx for you. You still need to run the Commerce-specific install steps — see Installation.