Using envd Environment 
Here we use the example at envd/examples/mnist.
Build your environment 
Following previous tutorial, you'll be able to setup the project environment by envd. In this tutorial, we used mnist project. After setting up the project, you can check the environment status by envd envs list.
$ envd envs list
NAME    JUPYTER                 SSH TARGET      CONTEXT                                         IMAGE           GPU     CUDA    CUDNN   STATUS          CONTAINER ID 
mnist   http://localhost:48484   mnist.envd      /home/ubuntu/workspace/envd/examples/mnist      mnist:dev       false   <none>  <none>  Up 2 hours      f3452559ee20TIP
envd will add a new ssh entry to your ssh config to help you connect to your environment, named <project_name>.envd. 
Connect to the environment with VSCode 
First, you need to install the remote development kit in VSCode. You can find here Remote - SSH to install the extension. After the extension is installed, you'll be able to see the UI below by clicking the downside left icon.

Then click the Connect to Host option and select the target you want to connect to.

After selecting the target, open the folder with your project name (here we use mnist)

Then everything is done!

Connect to the environment with Jupyter Notebook 
In build.envd file, we've declared the jupyter environment, with no password.
def build():
    ...
    config.jupyter()You can also get the jupyter port through envd envs list command.
$ envd envs list
NAME    JUPYTER                 SSH TARGET      CONTEXT                                         IMAGE           GPU     CUDA    CUDNN   STATUS          CONTAINER ID 
mnist   http://localhost:48737   mnist.envd      /home/ubuntu/workspace/envd/examples/mnist      mnist:dev       false   <none>  <none>  Up 2 hours      f3452559ee20Then you can directly get your jupyter notebook by using http://localhost:48737 in your browser.

Connect to the environment with RStudio server 
You can set up RStudio server with config.rstudio_server.
def build():
    ...
    config.rstudio_server()Endpoint can be got through envd envs list command.
$ envd envs list
NAME    ENDPOINT                        SSH TARGET      IMAGE           GPU     CUDA    CUDNN   STATUS          CONTAINER ID 
r-basic rstudio: http://localhost:34621 r-basic.envd    r-basic:dev     false   <none>  <none>  Up 6 hours      1eb7d40e5a8aThen you can connect to the RStudio server by using http://localhost:34621 in your browser. Please use envd as the username, and the password can be any string.


Expose your services to the public 
Currently, you can expose local services to the public network through tools such as localtunnel.
$ envd envs list
NAME    JUPYTER                 SSH TARGET      CONTEXT                                         IMAGE           GPU     CUDA    CUDNN   STATUS          CONTAINER ID
mnist   http://localhost:48737   mnist.envd      /home/ubuntu/workspace/envd/examples/mnist      mnist:dev       false   <none>  <none>  Up 2 hours      f3452559ee20
$ npx localtunnel --port 48737
your url is: https://xxx.loca.lt