Run it locally.

The workbench runs as a Docker Compose project. There is nothing to sign in to and nothing leaves the machine.

The workbench

Clone github.com/Anymfah/paramrig, then from its root:

docker compose up -d

Open http://localhost:5174/. The port is fixed: if it is busy, find what is holding it instead of picking another, because the SDK’s default host origins name it.

Bundled rigs are registered in the application. This release does not scan arbitrary folders on disk.

One-off commands

Tests, linting and builds run in the same image, without leaving a watcher behind:

docker compose run --rm app npm test
docker compose run --rm app npm run lint
docker compose run --rm app npm run build

Connecting a project of your own

The connected workspace needs a second service, which reads and writes inside your project’s .paramrig directory and nothing else:

PARAMRIG_PROJECT_DIR=/absolute/path/to/project docker compose --profile web up -d

Then open /web and choose Open project. The project must contain .paramrig/manifest.json. Without one the workspace says so and names the absolute path it is waiting for.

Your project keeps its own development server. ParamRig does not start it, install anything into it, or touch its source.

On Linux, add PARAMRIG_UID=$(id -u) PARAMRIG_GID=$(id -g) so the files the service writes belong to whoever runs the project. They are written 0600, and that project’s agent has to be able to read them. Docker Desktop maps ownership itself and needs neither.

The bundled example

Without a directory of your own, the web profile serves Fieldnotes, a two-page project already instrumented:

docker compose --profile web up -d

It runs at 127.0.0.1:5174, a different browser origin from the workbench at localhost:5174, which is the arrangement a real project has. The example manifest is copied only into a directory that is empty, so forgetting the variable cannot put Fieldnotes into someone else’s repository.