Skip to content

docker provider: default to runc, add docker_runsc overlay for gVisor#196

Open
gnguralnick wants to merge 1 commit into
mainfrom
gabriel/macos-gvisor-issue
Open

docker provider: default to runc, add docker_runsc overlay for gVisor#196
gnguralnick wants to merge 1 commit into
mainfrom
gabriel/macos-gvisor-issue

Conversation

@gnguralnick

@gnguralnick gnguralnick commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

What

The local docker provider hardcoded the gVisor (runsc) runtime, which fails on macOS where gVisor is unavailable -- forcing the MNGR__PROVIDERS__DOCKER__DOCKER_RUNTIME=runc env-var workaround before just minds-start.

This makes the runtime a per-create choice:

  • [providers.docker] no longer sets docker_runtime, so it uses Docker's default runtime (runc), which is available everywhere -- notably macOS.
  • A new [create_templates.docker_runsc] overlay opts a create into gVisor: --template docker --template docker_runsc reuses the entire docker template body and only switches the container runtime to runsc. The runc/runsc choice is the single difference, with no duplicated template body to keep in sync.

The template-contributed providers.docker.docker_runtime=runsc setting reaches the provider at create time because mngr re-applies template --setting entries against the provider config after template resolution (imbue-ai/mngr#1914, verified present in both host-side and vendored mngr).

Pairs with

imbue-ai/mngr#2237 -- the minds desktop app change that adds the per-platform "Container runtime" create-form field and selects this overlay by default on Linux (runc on macOS). The two must land together: this template is inert without the minds change, and the minds change references this template.

Test plan

[providers.docker] no longer hardcodes docker_runtime="runsc", so it uses
Docker's default runtime (runc), which is available everywhere -- notably
macOS, where gVisor's runsc is not. This drops the need for the
MNGR__PROVIDERS__DOCKER__DOCKER_RUNTIME=runc workaround on hosts without
gVisor.

Add a docker_runsc create-template overlay that opts a create into the
gVisor runtime: `--template docker --template docker_runsc` reuses the
entire docker template body and only switches the container runtime to
runsc, so the runc/runsc choice is the single difference with no duplicated
body to keep in sync. The minds desktop app stacks the overlay by default
on Linux and omits it on macOS.

Co-authored-by: Sculptor <sculptor@imbue.com>
@joshalbrecht

Copy link
Copy Markdown
Contributor

lgtm, will merge together

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants