N150 N300 T3K P100 P150 Galaxy 5 min Validated

Deploy tt-vscode-toolkit to Koyeb

Get your own cloud-based VSCode IDE with the Tenstorrent extension pre-installed, running on Koyeb with access to N300 hardware.

What You'll Build

A browser-accessible VSCode environment with:

Prerequisites

Why Deploy to Koyeb?

Koyeb offers direct access to Tenstorrent N300 hardware (gpu-tenstorrent-n300s instance type) with:

Perfect for:


Step 1: Install Koyeb CLI

curl -fsSL https://cli.koyeb.com/install.sh | sh

Verify installation:

koyeb version

Step 2: Login to Koyeb

koyeb login

This opens your browser for authentication.

Verify you're logged in:

koyeb profile show

Step 3: Deploy the IDE

Deploy using our pre-built image - no cloning or building required!

koyeb services create vscode \
  --app tt-vscode-toolkit \
  --docker ghcr.io/tenstorrent/tt-vscode-toolkit:latest \
  --ports 8080:http \
  --routes /:8080 \
  --env PASSWORD=your-secure-password \
  --env MESH_DEVICE=N300 \
  --regions na \
  --instance-type gpu-tenstorrent-n300s \
  --privileged

What this does:

Deployment time: ~30-60 seconds (image pull + start)

⚠️ Save your password! You'll need it to access your IDE.


Step 4: Get Your Access URL

Wait for deployment to complete:

koyeb services get vscode

Expected output:

ID      	APP              	NAME  	STATUS 	CREATED AT
73553d44	tt-vscode-toolkit	vscode	HEALTHY	...

Once STATUS shows HEALTHY, get your URL:

# Your service URL will be shown in the services list
koyeb services get vscode | grep koyeb.app

Access your IDE: https://vscode-<your-hash>.koyeb.app

Enter the password you set in Step 3.

That's it! Your cloud IDE with N300 hardware is ready.


Step 5: Verify Hardware Access

Open a new terminal in your cloud IDE (Terminal → New Terminal) and run:

tt-smi

Expected output:

 Board type: p300c
 Num devices: 2

 Device 0:
   Coordinates (rack,shelf,y,x): (0,0,0,0)
   PCI domain:bus:device.function: 0000:01:00.0
   Board type: n300
   ...

Note: N300 reports as 2 devices (2 Wormhole chips on one board) - this is correct!


Step 6: Explore the Extension

The Tenstorrent extension is pre-installed and active:

  1. Click the Tenstorrent icon in the left sidebar (TT logo)
  2. Browse lessons - All 16+ interactive lessons available
  3. Open Welcome Page - Click "Welcome Page" in the sidebar
  4. Try a lesson - Start with "Your First Inference" or "Hardware Detection"

What's Included in the Deployment

Your cloud IDE includes:

Software Stack:

Hardware:

CLI Tools (via tt-installer):

Note: tt-metal can be built via lessons when needed (not pre-installed)

Configuration:


Managing Your Deployment

Check Status

koyeb services get vscode

Watch Logs

koyeb services logs vscode -f

Update Deployment

Pull the latest image:

koyeb services redeploy vscode

This fetches the newest :latest image and restarts the service.

Delete Service

When you're done:

koyeb services delete vscode

Troubleshooting

Deployment Stuck or Fails

Check build logs:

koyeb services get vscode --full -o json | jq

Common issues:

Can't Access Hardware

If tt-smi shows "Permission denied":

  1. Verify privileged mode: Check koyeb services get vscode shows privileged: true
  2. Check device files: ls -la /dev/tenstorrent/
  3. Verify groups: groups should show sudo, video, render

The entrypoint script automatically fixes permissions on startup via:

sudo chmod -R 666 /dev/tenstorrent/*

Extension Not Visible

If the Tenstorrent extension doesn't appear:

  1. Check Extensions sidebar (Cmd/Ctrl+Shift+X)
  2. Search for "Tenstorrent"
  3. Verify it's installed and enabled

The extension should auto-install during build. If missing, the container needs rebuilding with proper user permissions.


Cost Considerations

Koyeb N300 pricing:

Recommendations:


Advanced: Custom Configuration

Change Password

Set PASSWORD environment variable before deploying:

export PASSWORD=my-secure-password
./scripts/koyeb-deploy-direct.sh

Change Region

Edit scripts/koyeb-deploy-direct.sh and modify:

--regions na  # North America (default)
# Options: na (US), fra (Europe), sin (Asia)

Use Different Instance Type

For testing without hardware:

koyeb deploy . tt-vscode-toolkit/vscode \
  --archive-builder docker \
  --archive-docker-dockerfile Dockerfile.koyeb \
  --ports 8080:http \
  --routes /:8080 \
  --env PASSWORD=yourpass \
  --regions na \
  --instance-type small  # No hardware, cheaper for testing

Next Steps

You now have a cloud VSCode IDE with Tenstorrent hardware!

Continue your journey:

  1. 🎯 Deploy Your Work to Koyeb - Deploy your own apps with N300
  2. 🚀 Your First Inference - Run your first model
  3. 🏭 vLLM Production - Production model serving

Share your deployment:


Advanced: Custom Builds

Need to customize? Check our Dockerfile on GitHub to see how the image is built. You can:

The published image includes:

Build locally and deploy:

# Clone and modify
git clone https://github.com/tenstorrent/tt-vscode-toolkit.git
cd tt-vscode-toolkit
# ... make your changes ...

# Build extension
npm install
npm run build
npm run package

# Deploy using the included script
./scripts/koyeb-deploy-direct.sh

This approach is useful for:


Summary

What you learned:

Key concepts:

Time invested: ~5 minutes Result: Professional cloud IDE with hardware access 🎉