Domino Workspaces Skill
Description
This skill helps users work with Domino Workspaces - interactive development environments for data science work including Jupyter notebooks, JupyterLab, VS Code, and RStudio.
Activation
Activate this skill when users want to:
- Launch or configure a workspace in Domino
- Work with Jupyter notebooks, VS Code, or RStudio
- Configure workspace settings (hardware tier, environment, volumes)
- Understand workspace persistence and file management
- Use SSH to connect to remote workspaces
- Install packages in workspaces
Workspace Types
Available IDEs
Domino provides these default workspace types:
- Jupyter Notebook: Classic notebook interface
- JupyterLab: Modern Jupyter interface with file browser
- VS Code: Full-featured code editor with extensions
- RStudio: IDE for R development
- Custom IDEs: Can configure additional workspace types
Launching a Workspace
Via Domino UI
- Navigate to your project
- Click Workspaces in the navigation
- Click Launch Workspace
- Select:
- IDE: Choose Jupyter, VS Code, RStudio, etc.
- Hardware Tier: CPU/memory/GPU resources
- Compute Environment: Docker environment with tools
- Volume Size: Persistent storage (if needed)
- Click Launch
Via Python SDK
from domino import Domino
domino = Domino("project-owner/project-name")
# Start a workspace
workspace = domino.workspace_start(
environment_id="env-123",
hardware_tier_name="small",
workspace_type="JupyterLab"
)
print(f"Workspace ID: {workspace['workspaceId']}")
File Persistence
Persistent Directories
Work saved to these directories persists across workspace sessions:
/mnt/- Project files (synced with Domino)/mnt/data/- Domino Datasets/mnt/artifacts/- Project artifacts/mnt/imported/- Imported data
Home Directory Persistence
Domino 6.1+ supports home directory persistence:
- Installed packages persist across sessions
- User configurations (.bashrc, .vimrc) are retained
- Reduces workspace startup time
Package Installation
Temporary (Current Session)
# Python packages
pip install pandas numpy scikit-learn
# R packages
install.packages("tidyverse")
Persistent (Via Environment)
Add to environment's Dockerfile instructions:
RUN pip install pandas numpy scikit-learn
Or use requirements.txt in your project:
pandas>=2.0.0
numpy>=1.24.0
scikit-learn>=1.3.0
SSH Access to Workspaces
Domino 6.1+ allows SSH connections from local machines:
- Enable SSH in workspace settings
- Get connection details from running workspace
- Connect via SSH:
ssh -i ~/.ssh/domino_key user@workspace-hostname
Benefits:
- Use local IDE (VS Code Remote, PyCharm)
- Access remote compute from local machine
- Browse files locally while computing remotely
Git Integration in Workspaces
Using Git
# Clone a repo in workspace
git clone https://github.com/user/repo.git
# Standard git workflow
git add .
git commit -m "Update model"
git push origin main
Sync with Domino
Click Sync in the workspace UI to push changes back to Domino project.
Workspace Operations
Stop a Workspace
domino.workspace_stop(workspace_id)
Resume a Workspace
Stopped workspaces can be resumed to continue work.
View Workspace Logs
Access logs for debugging through the Domino UI or API.
Best Practices
- Save frequently: Sync work to Domino regularly
- Use appropriate hardware: Match resources to workload
- Clean up: Stop workspaces when not in use to save resources
- Version control: Use Git for code versioning
- Environment management: Use Domino Environments for reproducibility
Troubleshooting
Workspace Won't Start
- Check hardware tier availability
- Verify environment builds successfully
- Check resource quotas
Lost Work
- Check
/mnt/directories for persisted files - Review Domino project files
- Check Git history if using version control
Slow Startup
- Use smaller base environments
- Enable package persistence
- Pre-install packages in environment Dockerfile
