Skip to main content

Offline and air-gapped installs

Plant networks are often isolated: no npm registry, no licence server, sometimes no route off the machine at all. Omni-Edge supports this, in two parts — getting the software onto the machine, and licensing it once it is there.

Getting the software across

A folder install is self-contained. node_modules holds every dependency, so a machine that receives the folder needs nothing from the network except a Node.js runtime.

On a staging machine that does have registry access, do the install normally, confirm it runs, then archive the whole folder:

mkdir omni-edge && cd omni-edge
npm init -y
npm install @sterfive/opcua-omni-edge
node_modules/.bin/opcua-omni-edge version # confirm it works before you carry it

cd ..
tar czf omni-edge.tar.gz omni-edge

On Windows:

tar.exe -czf omni-edge.tar.gz omni-edge

Carry omni-edge.tar.gz to the target machine and unpack it:

tar xzf omni-edge.tar.gz
cd omni-edge
node_modules/.bin/opcua-omni-edge version
warning

Archive the folder including node_modules. That is the whole point — the target machine cannot run npm install. Do not use npm pack, and do not let a .gitignore-aware archiver skip it.

Use the same platform and Node major version on both machines. node_modules may contain compiled native addons, and a Linux x64 build will not load on Windows or on arm64. When they differ, do the staging install on a machine matching the target, or use the container bundle instead, which carries its own runtime.

To update later, repeat the process on the staging machine and replace the folder — but keep the target's config.yaml, certificate store, and $HOME/.sterfive/opcua-omni-edge/ (see below).

Licensing without internet access

Licence activation normally contacts the Sterfive licence service. When the machine cannot reach it, activation becomes a file exchange: the gateway produces a fingerprint, Sterfive signs it, and you carry the result back.

1. Generate the activation request on the target machine, using the licence key Sterfive sent you (it looks like ABCDEF-01234-…-ABCDEF):

node_modules/.bin/opcua-omni-edge licence offline request \
-l ABCDEF-01234-...-ABCDEF \
-u "Joe Doe" \
-m joe.doe@acme.com \
-f request.txt

-l is the licence key, -u your name, -m your email, and -f the file to write. This produces a fingerprint of the machine; it needs no network.

2. Send request.txt to Sterfivesupport@sterfive.com.

3. Sterfive returns an activation file, something like licence_abcd.txt. Copy it into the installation folder.

4. Activate:

node_modules/.bin/opcua-omni-edge licence offline activate -f licence_abcd.txt

5. Confirm:

node_modules/.bin/opcua-omni-edge licence info

Decommissioning

To return the seat when retiring the machine, produce a deactivation file and send it back:

node_modules/.bin/opcua-omni-edge licence offline deactivate -f deactivation.txt

What to back up

Three things, and the third is the one people forget:

PathWhy
config.yamlyour gateway configuration
the certificate storethe OPC UA PKI — trust lists and own certificates
$HOME/.sterfive/opcua-omni-edge/licence activation and this machine's stable identity

Restoring the first two on a rebuilt machine gets you a working gateway. Restoring the third is what stops that rebuild from consuming a new licence seat — on an air-gapped site, that means another file exchange with Sterfive before the gateway will run.