Skip to content

v0.1.36

Choose a tag to compare

@github-actions github-actions released this 28 Sep 17:12
· 5 commits to main since this release
v0.1.36
b3b6429

UnraidClaw 0.1.36 lets an agent create a container with the advanced settings of Unraid's own container form: extra docker parameters, post arguments, a fixed IP, privileged mode, CPU pinning and host devices. Everything else, including the REST API, MCP endpoint, OpenClaw plugin and CLI, behaves as in 0.1.34. There is no 0.1.35.

Highlights

Advanced settings when creating a container

  • POST /api/docker/containers and the unraid_docker_create tool accept six new optional fields. extraArgs is Unraid's Extra Parameters (docker run options such as --gpus all, --cap-add=SYS_ADMIN or --memory=8g), postArgs is Post Arguments (the container command), staticIp is a fixed IPv4 or IPv6 address, privileged runs the container privileged, cpuset pins it to CPUs and devices passes host devices through. See the Docker create section of the README.
  • Each field is passed to docker run in the order Unraid's own command builder uses and saved to the matching field of the container's template, so the Docker tab shows the setting and rebuilds the container the same way.
  • The OpenClaw plugin is 0.1.16 on npm, with the new fields in the unraid_docker_create tool and guidance for them in SKILL.md. The CLI reads the same tool definitions, so unraidclaw docker create takes the fields too.
  • Thanks to @totalanni for the extraArgs and staticIp implementation this release builds on.

Security and reliability fixes

  • Unraid hands Extra Parameters and Post Arguments to the shell unescaped whenever it rebuilds a container from its template, so both fields accept only letters, digits, : . , / + = _ - and single spaces between tokens. Quotes, other whitespace and shell metacharacters are rejected with 400 before docker runs, and every value reaches docker as an argument list, never through a shell.
  • extraArgs must start with an option, cpuset must be CPU numbers and ranges, devices must be paths under /dev without .., and privileged must be a real boolean, so a mistyped value cannot become a different container.
  • A fixed IP is rejected on bridge, host and none, where docker itself refuses it, with a message naming the networks that accept one.

Upgrade notes

  • Nothing to configure. The new fields are optional and a request without them creates the same container as before.
  • A container created with any of these settings in effect is refused by POST /api/ca/app/:name/update and unraid_ca_update, which rebuild only settings they can reproduce exactly. Update such a container from the Docker tab.

Install and downloads

  • Unraid plugin: update from the Unraid WebGUI (Plugins > Check for Updates) or install through Community Applications. unraidclaw-0.1.36-x86_64-1.txz is the package the WebGUI downloads; you do not need to fetch it by hand.
  • CLI: npm install -g unraidclaw-cli, or download unraidclaw-cli-0.1.36.tar.gz for machines without npm. Verify it with the .sha256 file, extract it, and make sure Node.js 22 or newer is on PATH. Runs on Linux, macOS and Windows; see the CLI guide.
  • OpenClaw plugin: see OpenClaw plugin in the README for install and update commands.
  • Checksums: the .md5 file covers the .txz package and the .sha256 file covers the CLI archive.