Requirements
This page lists the infrastructure and runtime prerequisites for running Inventorix in production. The recommended deployment path is the official Docker image, which satisfies all runtime requirements out of the box.
Runtime
Section titled “Runtime”| Requirement | Minimum | Notes |
|---|---|---|
| PHP | 8.3 | composer.json requires ^8.3; the official Docker image ships PHP 8.4 |
| PHP extensions | pdo_mysql, redis, intl, gd, opcache, pcntl, zip | All installed in the official image |
| Composer | 2.x | Only required for non-Docker installs |
Database
Section titled “Database”Inventorix is tested against MySQL and MariaDB. The Laravel configuration ships explicit mysql and mariadb driver blocks in config/database.php. The .env.example shows MySQL as the intended production connection.
| Requirement | Value |
|---|---|
| Supported engines | MySQL, MariaDB |
| Default port | 3306 |
| Character set | utf8mb4 |
| Collation | utf8mb4_unicode_ci |
Redis is required in production for:
- Queue backend — Horizon uses Redis to manage and monitor queued jobs (set
QUEUE_CONNECTION=redis). - Cache — set
CACHE_STORE=redisfor shared cache in a multi-replica setup. - Sessions — optionally set
SESSION_DRIVER=redis.
| Requirement | Value |
|---|---|
| Redis client driver | phpredis (default) or predis |
| Default host | 127.0.0.1 |
| Default port | 6379 |
The default .env.example values use the database driver for cache, sessions, and queues — this is sufficient for a single-replica deployment but Redis is strongly recommended for performance and for Horizon to function correctly.
Object storage
Section titled “Object storage”Inventorix stores uploaded files (asset invoices and other attachments) on the configured filesystem disk. For production, an S3-compatible object store is recommended.
| Environment variable | Purpose |
|---|---|
FILESYSTEM_DISK | Set to s3 for object storage, local for local disk |
AWS_ACCESS_KEY_ID | Access key |
AWS_SECRET_ACCESS_KEY | Secret key |
AWS_DEFAULT_REGION | Bucket region |
AWS_BUCKET | Bucket name |
AWS_ENDPOINT | Override endpoint for non-AWS providers (MinIO, Tigris, etc.) |
AWS_USE_PATH_STYLE_ENDPOINT | Set true for path-style endpoint (required by MinIO and some S3-compatible services) |
A working mail provider is required for warranty expiry notifications and other system emails.
Inventorix ships drivers for:
- SMTP (
MAIL_MAILER=smtp) - Postmark (
MAIL_MAILER=postmark— viasymfony/postmark-mailer) - Resend (
MAIL_MAILER=resend— viaresend/resend-php) - Postal (
MAIL_MAILER=postal— viasynergitech/laravel-postal) - Log (
MAIL_MAILER=log— development only; writes to the application log)
Set MAIL_FROM_ADDRESS and MAIL_FROM_NAME in all cases.
Recommended deployment
Section titled “Recommended deployment”The official Docker image at noixdev/inventorix bundles PHP 8.4, all required extensions, Composer dependencies, and compiled frontend assets in a single image. It is the only supported production deployment method documented here.
See Docker deployment for setup instructions.