> ## Documentation Index
> Fetch the complete documentation index at: https://docs.domino.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Add Workspace IDEs

Domino is interoperable with your favorite languages, development tools and software. Learn how to bring your favorite IDEs to Domino.

When you add a Workspace IDE to your Compute Environment, you can:

* Upgrade to a newer version of currently supported Domino tools such as Jupyter or RStudio.

* Add new web-based tools like JupyterLab.

* Manage the standard default tool for your team or organization across all projects.

## Configure an IDE

You must set up the Environment’s Docker image installation instructions and define how Domino will serve the tool.

<Note>
  Typically, an administrator or advanced user does this work. Domino recommends that you contact your administrator for help defining the tool you want to use.
</Note>

1. In your Environment, enter the instructions to install and configure a tool in the Dockerfile instructions:

### For Python version > 2.7.9

```Dockerfile theme={null}
###Remove any old workspaces
RUN
apt-get remove rstudio-server -y &&
 rm -rf /usr/local/lib/rstudio-server/rstudio-server &&
 rm -rf /var/opt/workspaces
###Setup workspaces directory and retrieve workspace configs
RUN mkdir /var/opt/workspaces
RUN cd /tmp && wget https://github.com/dominodatalab/workspace-configs/archive/2018q2-v1.9.zip && unzip 2018q2-v1.9.zip && cp -Rf workspace-configs-2018q2-v1.9/. /var/opt/workspaces &&
rm -rf /var/opt/workspaces/workspace-logos && rm -rf /tmp/workspace-configs-2018q2-v1.9
#add update .Rprofile with Domino customizations
RUN
mv /var/opt/workspaces/rstudio/.Rprofile /home/ubuntu/.Rprofile &&
chown ubuntu:ubuntu /home/ubuntu/.Rprofile
# # # #Install Rstudio from workspaces
RUN chmod +x /var/opt/workspaces/rstudio/install
RUN /var/opt/workspaces/rstudio/install
# # # # # #Install Jupyterlab from workspaces
RUN chmod +x /var/opt/workspaces/Jupyterlab/install
RUN /var/opt/workspaces/Jupyterlab/install
# # #Install Jupyter from workspaces
RUN chmod +x /var/opt/workspaces/jupyter/install
RUN /var/opt/workspaces/jupyter/install
# Clean up temporary files
RUN
 rm -Rf /var/lib/apt/lists/* &&
 rm -Rf /tmp/*
```

### For Python version \< 2.7.9

```dockerfile theme={null}
###Remove any old workspaces
RUN
apt-get remove rstudio-server -y &&
 rm -rf /usr/local/lib/rstudio-server/rstudio-server &&
 rm -rf /var/opt/workspaces

###Setup workspaces directory and retrieve workspace configs
RUN mkdir /var/opt/workspaces
RUN cd /tmp && wget https://github.com/dominodatalab/workspace-configs/archive/2018q2-v1.9.zip && unzip 2018q2-v1.9.zip && cp -Rf workspace-configs-2018q2-v1.9/. /var/opt/workspaces &&
rm -rf /var/opt/workspaces/workspace-logos && rm -rf /tmp/workspace-configs-2018q2-v1.9

#add update .Rprofile with Domino customizations
RUN
mv /var/opt/workspaces/rstudio/.Rprofile /home/ubuntu/.Rprofile &&
chown ubuntu:ubuntu /home/ubuntu/.Rprofile

# # # #Install Rstudio from workspaces
RUN chmod +x /var/opt/workspaces/rstudio/install
RUN /var/opt/workspaces/rstudio/install

# # # # # #Install Jupyterlab from workspaces (pinned to avoid working directory bug in Jupyterlab)
RUN pip install jupyterlab==0.31.12

# # #Install Jupyter from workspaces
RUN chmod +x /var/opt/workspaces/jupyter/install
RUN /var/opt/workspaces/jupyter/install
# Clean up temporary files
RUN
 rm -Rf /var/lib/apt/lists/* &&
 rm -Rf /tmp/*
```

1. Notebook properties are stored as `yaml` data mapping notebook names to their definitions. Enter this in the **Pluggable Workspace Tools** field in the Environment definition.

   For example:

```yaml theme={null}
jupyter:
  title: "Jupyter (Python, R, Julia)"
  iconUrl: "/assets/images/workspace-logos/Jupyter.svg"
  start: [ "/var/opt/workspaces/jupyter/start" ]
  supportedFileExtensions: [ ".ipynb" ]
  httpProxy:
    port: 8888
    rewrite: false
    internalPath: "/{{ownerUsername}}/{{projectName}}/{{sessionPathComponent}}/{{runId}}/{{#if pathToOpen}}tree/{{pathToOpen}}{{/if}}"
    requireSubdomain: false
jupyterlab:
  title: "JupyterLab"
  iconUrl: "/assets/images/workspace-logos/jupyterlab.svg"
  start: [  "/var/opt/workspaces/Jupyterlab/start.sh" ]
  httpProxy:
    internalPath: "/{{ownerUsername}}/{{projectName}}/{{sessionPathComponent}}/{{runId}}/{{#if pathToOpen}}tree/{{pathToOpen}}{{/if}}"
    port: 8888
    rewrite: false
    requireSubdomain: false
vscode:
  title: "vscode"
  iconUrl: "/assets/images/workspace-logos/vscode.svg"
  start: [ "/var/opt/workspaces/vscode/start" ]
  httpProxy:
    port: 8888
    requireSubdomain: false
rstudio:
  title: "RStudio"
  iconUrl: "/assets/images/workspace-logos/Rstudio.svg"
  start: [ "/var/opt/workspaces/rstudio/start" ]
  httpProxy:
    port: 8888
    requireSubdomain: false
```
