Skip to content

Instantly share code, notes, and snippets.

@jkeam
Created August 9, 2026 03:46
Show Gist options
  • Select an option

  • Save jkeam/cfb7899f0f360d7efe502cebc838a2fb to your computer and use it in GitHub Desktop.

Select an option

Save jkeam/cfb7899f0f360d7efe502cebc838a2fb to your computer and use it in GitHub Desktop.
Install OpenShell
#!/bin/bash
# Optionally, install client
# curl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh | sh
# Create project where all this will live
oc new-project openshell
oc adm policy add-scc-to-user privileged -z openshell-sandbox -n openshell
# Install operator and crds
# Find the latest here: https://github.com/kubernetes-sigs/agent-sandbox/releases
# Currently going with v0.5.4
oc apply -f https://github.com/kubernetes-sigs/agent-sandbox/releases/download/v0.5.4/sandbox-with-extensions.yaml
# Install app
# Find the latest version here: https://github.com/nvidia/OpenShell/pkgs/container/openshell%2Fhelm-chart/versions
# Currently rolling with 0.0.101
helm install openshell oci://ghcr.io/nvidia/openshell/helm-chart \
--version 0.0.101 \
--namespace openshell \
--set server.disableTls=true \
--set server.auth.allowUnauthenticatedUsers=true \
--set podSecurityContext.fsGroup=null \
--set securityContext.runAsUser=null
# Wait for install
echo 'sleeping for 10s'
sleep 10
# Rollout changes
# uses a stateful set with a sqlite db in the persistant storage
# TODO: switch to deployment and use external database
oc -n openshell rollout status statefulset/openshell
# If using an external database:
# set db creds
# kubectl create secret generic openclaw-pg-creds -n openshell --from-literal=uri="postgresql://user:pass@host:5432/dbname"
# If using an external database:
# install app
helm install openshell oci://ghcr.io/nvidia/openshell/helm-chart \
--version 0.0.101 \
--namespace openshell \
--set server.disableTls=true \
--set server.auth.allowUnauthenticatedUsers=true \
--set server.externalDbSecret=openclaw-pg-creds \
--set workload.kind=deployment \
--set podSecurityContext.fsGroup=null \
--set securityContext.runAsUser=null
# If using an external database
# rollout deployment
# oc -n openshell rollout status deployment/openshell
echo 'Done!'
# Testing
# In terminal 1, set up port forwarding
# oc -n openshell port-forward svc/openshell 8080:8080
# In terminal 2, register gateway
# openshell gateway add http://127.0.0.1:8080 --local --name openshift
# openshell status
# Docs:
# From: https://docs.nvidia.com/openshell/kubernetes/openshift
# And: https://github.com/NVIDIA/OpenShell/blob/main/deploy/helm/openshell/README.md#install-on-openshift
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment