E-commerce AWS

UnoPim Product Information Management on AWS User Guide

| Product: UnoPim

UnoPim Product Information Management on AWS User Guide

UnoPim is a free, open source Product Information Management (PIM) platform by Webkul. It gives you a single, central admin panel to model, enrich and govern your product catalog: products, typed attributes, reusable attribute families, categories, role-based users, CSV/XLSX import and export, multi-locale and multi-channel content, and a full REST API for syndicating clean catalog data to storefronts, marketplaces and other channels.

This cloudimg Amazon Machine Image delivers UnoPim fully installed and configured on Ubuntu 24.04, so a complete PIM is running within minutes of launch. The stack is a Laravel 12 application on PHP 8.3 with OPcache, served by nginx over HTTPS with php-fpm, backed by MySQL 8.0, with a background queue worker for imports, exports, webhooks and completeness jobs. Database migrations and the admin asset build are already applied, so you land directly on the sign-in page — there is no setup wizard to complete.

This guide covers connecting to your instance, retrieving the per-instance administrator credentials, signing in over HTTPS, modelling your catalog, administering from the command line, and installing a trusted certificate.

UnoPim sign-in page


Architecture at a glance

Component Detail
Application UnoPim 2.1.6 (Laravel 12), served from /var/www/unopim/public
Web server nginx, HTTPS on port 443 (port 80 redirects to 443)
PHP PHP 8.3 (php8.3-fpm) with OPcache
Database MySQL 8.0, datadir on a dedicated EBS volume at /var/lib/mysql
Application storage Code, docroot and product media on a dedicated EBS volume at /var/www
Queue worker unopim-queue.service (database queue: imports, exports, webhooks, completeness)
Admin panel https://<instance-public-ip>/admin (sign in by email)
Health endpoint https://<instance-public-ip>/admin/login (returns HTTP 200 when healthy)

UnoPim is admin-panel only — it manages catalog data and exposes it via the REST API; it is not a storefront.


Connecting to your instance

Connect over SSH on port 22 as the default login user for your operating system variant.

OS variant SSH login user
Ubuntu 24.04 ubuntu
ssh -i /path/to/your-key.pem ubuntu@<instance-public-ip>

Open ports 22 (SSH), 80 and 443 (HTTPS) in the instance's security group. Port 80 only issues a redirect to 443; all application traffic is served over HTTPS.


Per-instance credentials

On first boot, a one-shot service (unopim-firstboot.service) generates credentials that are unique to your instance and writes them to a root-only file. No shared or default credentials ship in the image. Retrieve them with:

sudo cat /root/unopim-credentials.txt

The file contains the admin panel URL, the administrator email and password, and the MySQL database name, user and password. First boot also:

  • generates a fresh Laravel application key (APP_KEY),
  • rotates the MySQL password,
  • sets a fresh administrator email and password,
  • generates a per-instance self-signed TLS certificate, and
  • sets the instance's own address as APP_URL.

Because the certificate is self-signed, your browser shows a one-time certificate warning on first visit — click through it (or install your own trusted certificate, see Enabling a trusted certificate below).


Verifying the service

The four services that back UnoPim should all report active:

systemctl is-active nginx php8.3-fpm mysql unopim-queue

Expected output:

active
active
active
active

The admin panel is served over HTTPS and returns HTTP 200 when healthy (the -k flag accepts the per-instance self-signed certificate):

curl -ks -o /dev/null -w '%{http_code}\n' https://localhost/admin/login
200

Plain HTTP on port 80 redirects to HTTPS:

curl -s -o /dev/null -w '%{http_code}\n' http://localhost/
301

Confirm the database and application tiers are on their dedicated EBS volumes:

df -h /var/www /var/lib/mysql
Filesystem      Size  Used Avail Use% Mounted on
/dev/nvme1n1     30G  218M   28G   1% /var/www
/dev/nvme2n1     20G  203M   19G   2% /var/lib/mysql

Confirm the application framework version:

php /var/www/unopim/artisan --version
Laravel Framework 12.61.1

Signing in

Browse to your instance's admin panel over HTTPS and sign in with the administrator email and password from /root/unopim-credentials.txt (accept the one-time certificate warning):

https://<instance-public-ip>/admin

After signing in you land on the UnoPim dashboard, which surfaces a catalog overview — total products, categories, attributes, families, locales, currencies and channels — and quick actions to create products or import and export data.

UnoPim dashboard after sign-in

We strongly recommend changing the administrator email and password, and creating additional named user accounts with appropriate roles, from Settings once you are signed in.

Note on the administrator email: first boot sets the administrator email to admin@<instance-public-ip>. UnoPim's sign-in form validates the email format in the browser, so if you access the panel by a bare IP address, set a real domain-style administrator email (from Settings → Users, or point a DNS name at the instance) before relying on browser sign-in.


Modelling your catalog

UnoPim structures a catalog from a few reusable building blocks:

  • Attributes are the typed fields that describe a product — text, select, boolean, price, image, and more. The image ships with a starter set (brand, size, colour, weight, dimensions, SEO fields, and others).

UnoPim attributes grid

  • Attribute families group attributes into reusable templates, so every product of a given type captures a consistent, complete set of information.

UnoPim attribute families

  • Categories organise the catalog into a navigable tree, with category-level fields.

UnoPim categories

  • Products are created against an attribute family and enriched per locale and per channel, then exported or served through the REST API.

UnoPim products grid

A typical first workflow is: review the starter Attributes, define or adjust an Attribute Family, build your Category tree, then Create Product (or bulk-import products from CSV/XLSX via Data Transfer). Long-running imports, exports and completeness recalculations run on the background queue worker.


Administering from the command line

UnoPim ships Laravel's artisan CLI. Run admin tasks as the www-data user from the application root:

sudo -u www-data php /var/www/unopim/artisan <command>

Common tasks:

  • ... artisan optimize:clear — clear the application config, route, view and cache stores.
  • ... artisan queue:restart — gracefully restart the background queue worker after changes.
  • ... artisan unopim:version — show the installed UnoPim version.

Manage the services with systemctl (nginx, php8.3-fpm, mysql, unopim-queue). The queue worker runs as unopim-queue.service; restart it with sudo systemctl restart unopim-queue after changing queue configuration.


Enabling a trusted certificate

The image serves UnoPim over HTTPS with a per-instance self-signed certificate so the admin panel is a secure context out of the box. For production use, replace it with a trusted certificate — either terminate TLS at an AWS Application Load Balancer / CloudFront in front of the instance, or issue a certificate directly on the instance with Let's Encrypt.

To use Let's Encrypt directly on the instance, point a DNS name at the instance's public IP, then install Certbot and request a certificate. Run the following, replacing the placeholders with your own domain and email:

sudo apt-get update
sudo apt-get install -y certbot python3-certbot-nginx
sudo certbot --nginx -d your-domain.example.com -m you@example.com --agree-tos --no-eff-email

After enabling HTTPS on your own domain, update UnoPim's APP_URL and TRUSTED_HOSTS in /var/www/unopim/.env to the new hostname, then run sudo -u www-data php /var/www/unopim/artisan optimize:clear so generated links use the new URL. Setting a domain-style hostname also resolves the browser email-validation note above.


Support

This is a repackaged open source software product. UnoPim itself is licensed under the MIT License (Copyright Webkul Software). cloudimg provides 24/7 technical support for this image by email and chat — covering UnoPim deployment, upgrades, HTTPS and trusted-certificate setup, import and export (CSV/XLSX) configuration, REST API integration, queue and background-job tuning, and MySQL database administration. For assistance, contact support@cloudimg.co.uk.