Licensed apps
Nomasx-1, Nomajde and their Nomaflow jobs are delivered as one Python wheel, liberty_apps-<version>-py3-none-any.whl, and unlocked by a licence key. The framework runs without them; adding them takes one command.
1 — The licence key
Sign in as a superuser and open Liberty Next → Administer → App → License. Paste the key you were delivered and save: the key is encrypted with the install's master key and the licensed connectors appear at once, without a restart.
Without a key, the apps install but their licensed connectors stay hidden. liberty-license status (in the container: docker exec -u liberty liberty-next liberty-license status) shows what the key covers and when it expires — see Licence key.
2 — Install the apps
On a Docker install, from release/:
./liberty apps ./liberty_apps-7.0.58-py3-none-any.whl # or an https:// URL
The command:
- prints the merge plan — what will be added, refreshed, kept or removed in the configuration (see below);
- unpacks the wheel into
release/apps/(config/,plugins/,data/) with the Liberty Next image already on the host — the host needs no Python; - adds the apps folder to the recorded compose files and restarts the stack; the folder is mounted on
/apps, and what Settings saves for the apps is written there; - runs the installation jobs in order:
deploy-databases— creates thenomasx1andnomajderoles and databases on the bundled PostgreSQL, then the Nomasx-1 schema;nomasx1-import-reference— loads the reference data (Segregation of Duties baseline, settings, lists);
- applies the pending schema migrations.
To install the apps together with the stack: ./liberty install full --apps ./liberty_apps-….whl.
On a Python install, the same steps are three commands — see Python server.
| Option | Effect |
|---|---|
--dry-run | Prints the merge plan and stops: nothing is written. |
--force-config | Also refreshes the vendor entities you changed without marking them as yours (see below). |
3 — Connect the source system
The apps read their data from your source system through a pool. Open Liberty Next → Administer → Pools, fill in the pool the apps expect (jdedwards for JD Edwards EnterpriseOne) with a read-only account, test it, then run nomasx1-roles to create the auditor and administrator roles, and the collection — nomasx1-collect-all — from Nomaflow or from Nomasx-1 → Jobs. The jobs and their parameters are on Nomaflow → Bundled jobs.
Nomajde writes to JD Edwards through its AIS server as well: the address, the user and the certificate check come from the environment variables JDE_AIS_URL, JDE_AIS_USER and JDE_AIS_VERIFY_SSL (in .env or secrets.env), or are set directly in Liberty Next → Build → Connectors. A value set in Settings is kept on every upgrade.
Upgrading the apps — your changes are kept
A new wheel brings new screens, menu items, dictionary entries, queries and dashboards, while you may have changed some of the delivered ones. The installer compares three versions of every entity — what was delivered last time, what is on the server now, what the new wheel brings — and decides entity by entity:
| Entity | What happens |
|---|---|
| New in the wheel | Added. |
| Delivered, never changed on the server | Refreshed with the new version. |
| Changed on the server | Kept, and listed at the end for review. |
Marked override = true (the Override switch of the entity's General tab) | Always kept. |
| Created on the server | Always kept. |
| Withdrawn by the vendor | Removed only if it was never changed. |
Pools and every ENC: secret | Always taken from your configuration. |
A value set on the server where the wheel ships a variable (${JDE_AIS_USER:-JDE}) | Always yours — a TLS check switched off in Settings stays off. |
theme.toml | Always yours. |
The Nomaflow jobs are merged job by job. The product's part of a delivered job — its steps, description, tags, the parameters it offers — is refreshed; what you set on it is kept: enabled or not, schedule, timezone, presets, alerts, retry, log level, timeout and the values of its parameters. Your own jobs stay. A delivered job whose steps you changed is kept as it is and listed at the end; a job marked override = true in jobs.toml is always kept as saved.
What was delivered is recorded under config/.bundled/, so the next upgrade knows "never changed" from "changed". The entities kept because they were changed locally are listed at the end of the run: mark them override = true to keep them for good, or install again with --force-config to take the vendor version.
The apps upgrade together with the framework with ./liberty upgrade --apps <wheel> — see Upgrade and rollback.
Check the installation
| Check | Where |
|---|---|
| Apps version | ./liberty status → apps bundle |
| Licence | Liberty Next → Administer → App → License |
| Apps in the switcher | Nomasx-1 and Nomajde appear at the top of the sidebar |
| Installation jobs | The Nomaflow run history: deploy-databases and nomasx1-import-reference succeeded |
| Schema up to date | ./liberty status → migrations: up to date |
A second Nomasx-1 side by side
To analyse two source systems separately on one server, the nomasx1-init-db job clones the Nomasx-1 configuration under a new name (for example nomasx1b) with its own database. See Bundled jobs → nomasx1-init-db.
Wheel or packages?
| Channel | Carries | Owned by |
|---|---|---|
| The apps wheel (this page) | The whole product: every configuration file, the Python code, the reference data. | The vendor — one per release. |
| The Packages screen | A selection of screens, menu items or dashboards with what they depend on. | You — to move your own changes from test to production. See Packages. |
Both use the same per-entity merge, so a wheel upgrade and a package import never overwrite each other's changes.
Common problems
| Symptom | Fix |
|---|---|
| The licensed apps are missing from the switcher | Check the licence in Liberty Next → Administer → App → License; ./liberty doctor checks that the apps folder is in the recorded compose files. |
After a manual docker compose -f … up -d the install looks empty | The apps folder was left out. Run ./liberty apps <wheel> again (it changes nothing else) — then keep to ./liberty commands. |
deploy-databases fails with permission denied | The default pool needs a role allowed to create roles and databases. On the full layout it is the bundled liberty superuser. |
| A new vendor screen did not appear | It was kept because you changed it locally: see the list printed at the end, or install again with --force-config. |
| The wheel URL cannot be downloaded | Download it first and pass the local file. |