Is there a problem that needs an urgent fix?Urgent fix?Get emergency help →
Blog

Practical Magento 2 guides on upgrades, security, speed and migration, written by the MageBooster team.

How to install UnoPim 3.1: requirements, Docker, Composer and a production checklist

Install UnoPim 3.1 with Docker or Composer: the requirements, the queue worker most installs miss, and the checklist we use before a UnoPim install goes live.

In short

The fastest way to try UnoPim is Docker: two commands and you have a working PIM on port 8000. For a real server, install it with Composer on PHP 8.4.1+ with MySQL, MariaDB or PostgreSQL, and run the queue worker under Supervisor. Without the queue worker, imports, exports and completeness jobs never run.

UnoPim is an open source PIM (product information management) system built on Laravel, released under the MIT license. The current release is 3.1.3, published on September 29, 2026. This guide shows the two ways to install it, the parts people often miss, and what we check before a UnoPim install goes live.

New to PIM? Read what a PIM system is and when a Magento store needs one first.

UnoPim requirements

ComponentVersion
Web serverNginx or Apache2
PHP8.4.1 or newer
Composer2.6 or newer
DatabaseMySQL 8.0.32+, MariaDB 10.11 LTS or 11.8 LTS, or PostgreSQL 16
Node.js22 LTS, recommended for building assets
ElasticsearchOptional; off by default, recommended for large catalogs
PHP extensionscalendar, curl, intl, mbstring, openssl, pdo, pdo_mysql, tokenizer (and json, xml, gd, zip, fileinfo for upgrades)

Two details catch people out. First, pdo_mysql is required even if you run PostgreSQL. Second, MariaDB support became first-class in 3.1.0; use DB_CONNECTION=mariadb and install mariadb-dump on the server for upgrade backups.

Option 1: install UnoPim with Docker

This is the right choice for a test, a demo or a first look at your own data. It uses ready-made images, so you do not need to check out the code.

curl -O https://raw.githubusercontent.com/unopim/unopim/3.x/compose.yaml
docker compose up -d

Before the first start, put the admin login in a .env file next to compose.yaml:

INSTALLER_ADMIN_EMAIL=you@example.com
INSTALLER_ADMIN_PASSWORD=choose-a-strong-password

Then open http://localhost:8000/admin. If you leave the password empty, UnoPim creates a random one and saves it in storage/app/admin-credentials.txt inside the container. Change it after the first login.

The Docker stack uses PostgreSQL 16, Redis and Elasticsearch 8 by default. To use MySQL instead, add compose.mysql.yaml. Decide this before you load data: switching database engines later needs a fresh database.

Option 2: install UnoPim with Composer on a server

For production we install UnoPim directly on an Ubuntu server with Nginx and PHP-FPM, so it can be updated, backed up and monitored like any other application.

composer create-project unopim/unopim
cd unopim
php artisan unopim:install

The installer asks for your database details and creates the admin account. Point the Nginx document root to the public folder, and make storage and bootstrap/cache writable for the web server user.

Do not skip the queue worker

Imports, exports, completeness scores, AI tasks, webhooks and Digital Product Passport publishing all run on queues. If no worker runs, these jobs wait forever and the admin looks stuck. Start it with all five queues:

php artisan queue:work --queue=webhooks,system,completeness,default,publication

On a server, keep it running with Supervisor:

[program:unopim-worker]
command=php /var/www/unopim/artisan queue:work --queue=webhooks,system,completeness,default,publication --sleep=3 --tries=3
user=www-data
autostart=true
autorestart=true
stdout_logfile=/var/log/unopim-worker.log

After every update, restart the worker so it loads the new code.

Production checklist

  1. HTTPS only, with APP_ENV=production and APP_DEBUG=false.
  2. Keep APP_KEY safe. It encrypts stored credentials, such as AI provider keys. Losing it means re-entering them.
  3. Redis for cache and queues once more than a few people work in the PIM.
  4. Elasticsearch for large catalogs. Set ELASTICSEARCH_ENABLED=true when search and filters slow down.
  5. Upload limits in PHP and Nginx that fit your largest images and import files.
  6. Daily backups of the database and the storage folder, and a tested restore.
  7. Admin users and roles per team, not one shared login.
  8. An update routine. Read UPGRADE.md and the changelog before each release, and test it on staging first.

Connecting UnoPim to Magento

A PIM pays off when the product data flows into your store without manual exports. UnoPim has REST APIs and webhooks, and connectors are listed on the UnoPim extensions marketplace. Plan the mapping first: which attributes, families and variant axes in UnoPim match which attribute sets and configurable products in Magento. Moving from Akeneo? See our Akeneo alternative guide.

Frequently asked questions

Is UnoPim free?

Yes. UnoPim is open source under the MIT license. You pay for hosting, and for setup or development if you need help.

Does UnoPim need Elasticsearch?

No. It is off by default, and search falls back to the database. Turn it on for large catalogs.

Which database should I choose for UnoPim?

MySQL, MariaDB and PostgreSQL are all supported. Pick the one your team already runs and backs up. The Composer install defaults to MySQL, the Docker stack to PostgreSQL.

Why are my UnoPim imports not running?

In almost every case the queue worker is not running, or it was started without all five queues.

Need UnoPim set up?

As an official UnoPim partner, we install and host UnoPim, move data from Akeneo or spreadsheets, and connect it to Magento. See our UnoPim implementation service, or leave your details below for a free analysis.

Installation guides: Magento 2.4.9 on Ubuntu Mage-OS Hyvä
Spotted a mistake on this page? Tell us and we will fix it right away.

Free Site Audit

Send your store details. We check speed, security and extensions, then reply with three quick wins within 3 working days.

Let's talk

Get a quote

Tell us about your store and we’ll reply within one working day. Prefer to chat? Say hello from WhatsApp

MageBooster Book a UnoPim demo See UnoPim live with products like yours. A new PIM or a move from Akeneo: we reply with a plan, a timeline and a quote.
✓ Official UnoPim partner✓ AI agent set up for your team✓ Connected to Magento
MageBooster Start your Hyvä project From scratch or from your current store. We reply with a project plan, a timeline and a quote.
✓ Design and structure by us✓ Hyvä-optimised server✓ Bonus modules included

MageBooster

Let us get in touch with you

Leave your details and your store address. We look at your store first and contact you within one business day, by phone, WhatsApp or email, whichever you prefer.

Partner with us