Appearance
VS Code
The vscode template ships code-server — VS Code as a web application — along with the toolchain that comes with it.
Browser access needs the ingress gateway
code-server carries the editing session over a WebSocket, and public sandbox endpoints are HTTP only today. You can start code-server and reach it from inside the sandbox now; opening the IDE in your own browser arrives with the ingress gateway. Until then this template is most useful for its environment, driven through sandbox.run and the files API.
Setup
bash
pip install ovrin
export OVRIN_API_KEY="ovrin_..."Start code-server
The image leaves the container idle so you choose the port and the auth mode:
python
import ovrin
client = ovrin.Client() # reads OVRIN_API_KEY
sandbox = client.sandboxes.create(template="vscode", timeout=3600)
# Start it in the background; `run` waits for the command to finish.
sandbox.run(
"nohup code-server --bind-addr 0.0.0.0:8443 --auth none /workspace "
"> /tmp/code-server.log 2>&1 &"
)
print(sandbox.run("sleep 2 && head -5 /tmp/code-server.log").stdout)Use the toolchain
The environment is the point even before the browser can reach it:
python
sandbox.files.write("/workspace/app.ts", "const x: number = 'nope';\n")
# tsc, git, node and the rest are already installed.
print(sandbox.run("cd /workspace && npx tsc --noEmit app.ts").stdout)Where the endpoint stands
python
endpoint = sandbox.endpoint(8443)
print(endpoint["url"], endpoint["protocol"])That returns a public URL and serves code-server's HTTP requests, but the editor session itself will not connect until WebSocket support lands.
Related
- Agent environments — every template
- Desktop — a full XFCE desktop with VNC