Repository navigation
Add E2B sandboxes with Tailscale SSH - #69
Merged
Merged
Conversation
czpython
force-pushed
the
codex/vercel-sandbox
branch
2 times, most recently
from
October 18, 2026 13:53
97a8628 to
237355d
Compare
czpython
force-pushed
the
codex/e2b-sandbox
branch
from
October 18, 2026 14:27
e67e831 to
3205056
Compare
czpython
force-pushed
the
codex/e2b-sandbox
branch
3 times, most recently
from
October 18, 2026 15:36
d61d1ee to
c970982
Compare
E2B kills each sandbox after E2B_MAX_LIFETIME_SECONDS, so the provider sets max_lifetime and no lease ends later. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JWeJyDmCJYS6etbwXsb3vw
czpython
force-pushed
the
codex/e2b-sandbox
branch
from
October 18, 2026 16:07
c970982 to
affa921
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Paulo · project thread
Before: drukbox could not make hosts on E2B.
After:
{"provider": "e2b"}starts an E2B sandbox that joins the tailnet and serves Tailscale SSH asroot. E2B kills a sandbox afterE2B_MAX_LIFETIME_SECONDS, so the provider setsmax_lifetimeand no lease ends later.How: the provider uses the E2B SDK (optional
e2bextra) to create the sandbox, run the bootstrap as root, and kill it by its host name andSERVICE_LABELmetadata. E2B runs commands only over its in-sandbox RPC, so the SDK takes the place of a REST client. E2B gives eth0 only a link-local address, so the bootstrap first adds a private address ondummy0; without ittailscale upnever returns.images/e2b/build.pybuilds the template without E2B's openssh-server, so Tailscale SSH makes its own host keys in each sandbox, and with tailscaled disabled, so each sandbox starts a fresh one.Verified live on E2B with the PR's
E2BAPI, without the drukbox service: two sandboxes were created, bootstrapped in 2.5 to 4.6 s, joined the tailnet with their own Tailscale SSH host keys (checked withssh-keyscan), and were deleted. Not verified live: a Tailscale SSH session asroot(the tailnet policy refused the probing identities) and a create through the drukbox service.🤖 Generated with Claude Code
https://claude.ai/code/session_01JWeJyDmCJYS6etbwXsb3vw