Skip to content

Conversation

@neubig
Copy link
Contributor

@neubig neubig commented Jan 1, 2026

Description

This PR adds documentation for running OpenHands in Docker without mounting the Docker socket by using the Local/Process Runtime (RUNTIME=local).

This addresses issue #1563 in OpenHands/OpenHands which requested a way to run OpenHands without granting access to the Docker socket for security reasons.

Changes

openhands/usage/run-openhands/local-setup.mdx

  • Added "Option 3: Using Docker Without Docker Socket (Process Runtime)" section
  • Includes Docker command example with RUNTIME=local
  • Explains key differences from the standard Docker command
  • Includes security warning about lack of sandbox isolation

openhands/usage/runtimes/local.mdx

  • Updated prerequisites to mention running inside Docker container with RUNTIME=local
  • Added note that tmux is pre-installed in the OpenHands Docker image
  • Added new use case: "Running OpenHands in Docker without mounting the Docker socket"
  • Added new section "Running Local Runtime Inside Docker" with full instructions

Related Issues

Testing

Documentation changes only - no code changes to test.

@neubig can click here to continue refining the PR

Add documentation for running OpenHands in Docker without mounting the
Docker socket by using the Local/Process Runtime (RUNTIME=local).

This addresses issue #1563 in OpenHands/OpenHands which requested a way
to run OpenHands without granting access to the Docker socket.

Changes:
- local-setup.mdx: Add Option 3 for Docker without socket
- local.mdx: Update prerequisites and add section for running inside Docker

Co-authored-by: openhands <openhands@all-hands.dev>
Also reorganize the 'Docker Without Socket' section to show both options:
- Process Runtime (local execution, no sandbox isolation)
- Remote Runtime (cloud execution, full sandbox isolation)

Co-authored-by: openhands <openhands@all-hands.dev>
- Update overview.mdx to frame options as sandbox types (Docker sandbox, cloud, no sandbox)
- Simplify local-setup.mdx to point to Runtimes docs for alternative sandbox options
- Update local.mdx to clarify tmux requirement and Docker image limitations
- Use consistent terminology: 'sandbox' instead of 'Docker socket'

Co-authored-by: openhands <openhands@all-hands.dev>
- Add note explaining Docker socket requirement and alternatives
- Add section about Apptainer as a potential community contribution
- Apptainer can provide sandboxed execution without daemon socket exposure

Co-authored-by: openhands <openhands@all-hands.dev>
The OpenHands SDK already has ApptainerWorkspace - link to it instead
of suggesting it as a future contribution.

Co-authored-by: openhands <openhands@all-hands.dev>
- Docker sandbox: DockerWorkspace example
- Cloud sandbox: OpenHandsCloudWorkspace example
- Local (no sandbox): agent server CLI and Workspace example
- Apptainer sandbox: ApptainerWorkspace example

All commands verified to work with the software-agent-sdk.

Co-authored-by: openhands <openhands@all-hands.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

3 participants