VS Code in a Web Browser without Open OnDemand

Run the VS Code Code-Server on DeltaAI in manual mode (without Open OnDemand) by following these steps:

  1. In a terminal, ssh log in to DeltaAI (see Direct Access Login Nodes).

  2. Navigate to /sw/external/vscode/code-server/bin.

  3. Run the following command to start the server. Replace dtai-loginNN with the login node you are logged in to.

    ./code-server --bind-addr dtai-loginNN:8899
    

    In the following example, the user, username, is logged in to dtai-login03:

    [username@dtai-login03:/sw/external/vscode/code-server/bin> ./code-server --bind-addr dtai-login03:8899
    [2025-02-21T21:07:08.237Z] info  code-server 4.96.4 b7ef8f9bd70cb5b342fa8ec8a0086bad676d8124
    [2025-02-21T21:07:08.238Z] info  Using user-data-dir /u/username/.local/share/code-server
    [2025-02-21T21:07:08.265Z] info  Using config file /u/username/.config/code-server/config.yaml
    [2025-02-21T21:07:08.265Z] info  HTTP server listening on http://141.142.248.9:8899/
    [2025-02-21T21:07:08.265Z] info    - Authentication is enabled
    [2025-02-21T21:07:08.265Z] info      - Using password from /u/username/.config/code-server/config.yaml
    [2025-02-21T21:07:08.265Z] info    - Not serving HTTPS
    [2025-02-21T21:07:08.265Z] info  Session server listening on /u/username/.local/share/code-server/code-server-ipc.sock
    [15:09:20]
    
  4. Open a second terminal window.

  5. In the second terminal, SSH tunnel to the login node running code-server with the following command. Replace:

    • username with your Delta login username (in one place).

    • dtai-loginNN with the same login node you used in step 3 (in two places).

    ssh -l username -L 127.0.0.1:8899:dtai-loginNN.delta.ncsa.illinois.edu:8899 dtai-loginNN.delta.ncsa.illinois.edu
    

    In the following example, the user, username is logged in to dtai-login03:

    username@XXXX-00000 ~ % ssh -l username -L 127.0.0.1:8899:dtai-login03.delta.ncsa.illinois.edu:8899 dtai-login03.delta.ncsa.illinois.edu
    ...
    Success. Logging you in...
    Last failed login: Fri Feb 21 15:08:21 CST 2025 from 169.197.147.6 on ssh:notty
    There was 1 failed login attempt since the last successful login.
    Last login: Fri Feb 21 15:06:30 2025 from 169.197.147.6
    gh-login03.delta.ncsa.illinois.edu (141.142.248.9)
      OS: SLES 15.5   HW: Foxconn   CPU: 144x    RAM: 239 GB
          CrayOS      NVIDIA Grace-Grace aarch64
    
        ΔΔΔΔΔ    ΔΔΔΔΔΔ   ΔΔ    ΔΔΔΔΔΔ   ΔΔ         ΔΔ    ΔΔΔΔ
        ΔΔ  ΔΔ   ΔΔ       ΔΔ      ΔΔ    ΔΔΔΔ       ΔΔΔΔ    ΔΔ
        ΔΔ  ΔΔ   ΔΔΔΔ     ΔΔ      ΔΔ   ΔΔ  ΔΔ     ΔΔ  ΔΔ   ΔΔ
        ΔΔ  ΔΔ   ΔΔ       ΔΔ      ΔΔ   ΔΔΔΔΔΔ     ΔΔΔΔΔΔ   ΔΔ
        ΔΔΔΔΔ    ΔΔΔΔΔΔ   ΔΔΔΔΔΔ  ΔΔ   ΔΔ  ΔΔ     ΔΔ  ΔΔ  ΔΔΔΔ
    
  6. Read the config.yaml file noted when you started the server (step 3) and copy the password to your clipboard.

    username@gh-login03:~> more ~/.config/code-server/config.yaml
    bind-addr: 127.0.0.1:8080
    auth: password
    password: 1c431be0159d77b9c44b62cd
    cert: false
    
  7. Open a web browser on your local desktop/laptop and go to the following URL.

    http://127.0.0.1:8899
    
  8. In the password field, enter the password you copied in step 6 and begin using VS Code in your browser.