Skip to content

Allow opt-in outbound networking for Docker computers - #186

Open
kevinaimonster wants to merge 1 commit into
CopilotKit:mainfrom
kevinaimonster:codex/docker-network-access
Open

kevinaimonster wants to merge 1 commit into
CopilotKit:mainfrom
kevinaimonster:codex/docker-network-access

Conversation

@kevinaimonster

Copy link
Copy Markdown

What changed

Docker computers always used --network none, so terminal commands could not download dependencies or call HTTP APIs. Add COMPUTER_NETWORK=bridge as an explicit opt-in while keeping none as the default. Creation and attachment checks enforce the configured network; extra or mismatched networks are rejected. Existing nonroot, filesystem, capability, resource, ownership and unpublished-port checks remain in place.

Expose the selected mode in agent instructions/tool descriptions and keep the terminal UI from suggesting a Desktop tab for network-enabled Docker computers. Include CA certificates in the computer image so Python and git can verify HTTPS. Document configuration, the retained-volume recreation procedure and bridge destination scope.

Verification

  • pnpm lint: passed (one existing Biome schema-version informational message).
  • pnpm typecheck, worker typecheck and pnpm build:server: passed.
  • pnpm test: 486 passed, 0 failed.
  • Real Docker smoke test against the rebuilt image: passed, including default network denial, populated CA store, command receipts, PDF transfer, persistence and interruption.
  • Live bridge-mode checks through ComputerService: Python verified HTTPS to example.com and PyPI returned 200; Node fetch returned 200. A real DeepSeek tool loop fetched example.com and reported its actual title.
  • Local demo migration preserved all 17 existing workspace file hashes and all 7 existing conversations. Its 17 chat/transport/HTTP regression checks passed.

Integration limits

Changing the network mode requires stopping and recreating the computer container while retaining its workspace volume; API and task workers must use the same setting. Bridge mode permits destinations reachable through Docker, including private networks, and does not enforce the browser worker's destination policy or reviewed-write gateway. No ports are published.

The terminal change is text-only; browser visual verification was unavailable because local browser automation is blocked by administrator policy. No screenshot is provided. E2B desktop cloud runtime was not exercised for this change.

This branch has not been deployed

No deployments
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.

1 participant