Loading...
Loading...
Deploys remote development environments with SSH access on TrueFoundry. Use when setting up VS Code Remote workspaces, cloud development machines, GPU dev boxes, or remote coding environments with SSH access.
npx skill4agent add truefoundry/tfy-deploy-skills truefoundry-ssh-server<objective>Routing note: For ambiguous user intents, use the shared clarification templates in references/intent-clarification.md.
tfy applynotebooksdeployllm-deployTFY_BASE_URLTFY_API_KEY.envTFY_WORKSPACE_FQNtfy --versionpip install 'truefoundry==0.5.0' && tfy login --host "$TFY_BASE_URL"references/prerequisites.mdtfy --version| CLI Output | Status | Action |
|---|---|---|
| Current | Use |
| Outdated | Upgrade: install a pinned version (e.g. |
| Command not found | Not installed | Install: |
| CLI unavailable (no pip/Python) | Fallback | Use REST API via |
tfy applyssh-server:0.4.5-py3.12.12ssh-server:0.4.5-cu129-py3.12.12# tfy-manifest.yaml — SSH Server (CPU)
name: my-ssh-server
type: ssh-server
image:
image_uri: public.ecr.aws/truefoundrycloud/ssh-server:0.4.5-py3.12.12
home_directory_size: 20
resources:
node:
type: node_selector
capacity_type: on_demand
cpu_request: 1
cpu_limit: 3
memory_request: 4000
memory_limit: 6000
ephemeral_storage_request: 5000
ephemeral_storage_limit: 10000
workspace_fqn: "YOUR_WORKSPACE_FQN"tfy apply -f tfy-manifest.yaml --dry-run --show-difftfy apply -f tfy-manifest.yaml# tfy-manifest.yaml — GPU SSH Server (CUDA)
name: gpu-dev-server
type: ssh-server
image:
image_uri: public.ecr.aws/truefoundrycloud/ssh-server:0.4.5-cu129-py3.12.12
home_directory_size: 20
resources:
node:
type: node_selector
capacity_type: on_demand
cpu_request: 4
cpu_limit: 8
memory_request: 16000
memory_limit: 32000
ephemeral_storage_request: 10000
ephemeral_storage_limit: 20000
devices:
- type: nvidia_gpu
name: A10_24GB
count: 1
workspace_fqn: "YOUR_WORKSPACE_FQN"tfy-api.shTFY_API_SHscripts/tfy-api.shreferences/tfy-api-setup.mdTFY_API_SH=~/.claude/skills/truefoundry-ssh-server/scripts/tfy-api.sh
$TFY_API_SH PUT /api/svc/v1/apps -d '{
"name": "my-ssh-server",
"type": "ssh-server",
"image": {
"image_uri": "public.ecr.aws/truefoundrycloud/ssh-server:0.4.5-py3.12.12"
},
"home_directory_size": 20,
"resources": {
"node": {"type": "node_selector", "capacity_type": "on_demand"},
"cpu_request": 1,
"cpu_limit": 3,
"memory_request": 4000,
"memory_limit": 6000,
"ephemeral_storage_request": 5000,
"ephemeral_storage_limit": 10000
},
"workspace_fqn": "WORKSPACE_FQN"
}'$TFY_API_SH PUT /api/svc/v1/apps -d '{
"name": "gpu-dev-server",
"type": "ssh-server",
"image": {
"image_uri": "public.ecr.aws/truefoundrycloud/ssh-server:0.4.5-cu129-py3.12.12"
},
"home_directory_size": 20,
"resources": {
"node": {"type": "node_selector", "capacity_type": "on_demand"},
"cpu_request": 4,
"cpu_limit": 8,
"memory_request": 16000,
"memory_limit": 32000,
"ephemeral_storage_request": 10000,
"ephemeral_storage_limit": 20000,
"devices": [
{"type": "nvidia_gpu", "name": "A10_24GB", "count": 1}
]
},
"workspace_fqn": "WORKSPACE_FQN"
}'# macOS/Linux
cat ~/.ssh/id_rsa.pub
# Windows PowerShell
type $home\.ssh\id_rsa.pubssh-keygen -t rsaSecurity: SSH public keys authorize remote access to this container only. Never add keys you don't recognize. The user must confirm their public key before it is added. Each key grants full shell access to the deployed dev environment — not to the host machine or any other system.
Security: Privileged Operations — Thecommands below install a networking tool on the user's local machine to enable SSH tunneling. The user should confirm they want to install this package before proceeding.sudo
| Platform | Command |
|---|---|
| macOS | |
| Ubuntu | Install |
| Alternative | Use |
# Download from server
scp -r <deploymentName>:<remote-path> <local-path>
# Upload to server
scp -r <local-path> <deploymentName>:<remote-path># Upload
rsync -avz <local-path> <deploymentName>:<remote-path>
# Download
rsync -avz <deploymentName>:<remote-path> <local-path>/home/jovyan/Security: Privileged Operations — The Dockerfile commands below run as root during the container image build phase only (not on the user's local machine or the host system). The/USER rootpattern is standard for installing system packages into a container image. Only install packages from trusted sources. Pin package versions where possible to prevent supply-chain attacks.USER jovyan
FROM public.ecr.aws/truefoundrycloud/ssh-server:0.4.5-py3.12.12
USER jovyan
RUN python3 -m pip install --no-cache-dir torch numpy pandasSecurity: Privileged Operations — Thecommands below run inside the deployed container (not on the user's local machine). The SSH server container requires package installation for system tooling. These commands do not affect the host system. The user must confirm they want these packages installed.sudo
# Example: coordinate package additions through a reviewed Dockerfile PR.conda create -y -n ml-env python=3.11
conda activate ml-env
pip install torch transformersworkspacesworkspacesvolumesdeployllm-deployapplicationstfy: command not found
Install the TrueFoundry CLI:
pip install 'truefoundry==0.5.0'
tfy login --host "$TFY_BASE_URL"Manifest validation failed.
Check:
- YAML syntax is valid
- Required fields: name, type, workspace_fqn
- Image URI exists and is accessible
- Resource values use correct units (memory in MB)SSH connection failed. Check:
- SSH key is correctly configured
- ProxyTunnel is installed (macOS: brew install proxytunnel)
- SSH server is in Running state (check applications skill)
- Network/VPN connectivityGPU not accessible. Verify:
- Requested GPU type is available on cluster (check workspaces skill)
- Used the correct SSH server image with CUDA supportSSH server stopped. Possible causes:
- Auto-shutdown triggered (no active SSH connections)
- Check if auto-shutdown is configured on the server
- Resource limits exceeded (increase memory/CPU)401 Unauthorized — Check TFY_API_KEY is valid
404 Not Found — Check TFY_BASE_URL and API endpoint path
422 Validation Error — Check manifest fields match expected schema