Taskbox
Podman

@taskbox/podman

A RuntimeAdapter for @taskbox/core that runs each task in a rootless Podman container with --rm --userns=keep-id and bind-mounts only the task's in/ (read-only) and out/ (read-write) directories. Stdout is emitted as process.stdout events; stderr lines are auto-detected as either JSON TaskEvents or raw process.stderr lines.

  • Stability: beta
  • Platforms: node (Linux/macOS with Podman installed)

Install

npm i @taskbox/podman @taskbox/core

Use as a runtime

import { runTask } from "@taskbox/core";
import { podman } from "@taskbox/podman";

const adapter = podman({ pullPolicy: "if-missing" });

const result = await runTask(
  {
    tool: "media.downloadSubtitles",
    input: { url: "https://youtu.be/jNQXAC9IVRw", languages: ["en"] },
    network: { mode: "direct" },
  },
  adapter,
);

Tune the binary or pull policy

const adapter = podman({
  binary: "/usr/bin/podman",
  defaultImage: "taskbox/kitchen-sink:dev",
  pullPolicy: "always", // or "if-missing" | "never"
});

See API for the full export list.

On this page