UnoPim Product Information Management on AWS User Guide
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.

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.

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).

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

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

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

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.