# OOD in a single workstation

**URL:** <https://discourse.openondemand.org/t/ood-in-a-single-workstation/3860>\
**Category:** Get Help\
**Tags:** question\
**Created:** [November 11, 2024, 7:36am UTC](https://discourse.openondemand.org/t/ood-in-a-single-workstation/3860 "2024-11-11T07:36:33Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![lhcamilo](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/lhcamilo/32/2065_2.png) [@lhcamilo](https://discourse.openondemand.org/u/lhcamilo)\
**Post date:** [November 11, 2024, 7:36am UTC](https://discourse.openondemand.org/t/ood-in-a-single-workstation/3860/1 "2024-11-11T07:36:33Z")

</div>

Hello there,

We have this deeplearning workstation at our department with 4 GPUs and lately we have had more users than GPUs, so I thought that introducing OOD with slurm as a queue system would solve our troubles.

The software we use are mainsly jupyter, deeplabcut and interactive desktops.

I understand that this is not the intended use of OOD, so I am just hoping to understand things a little better to tweak them.

For the most part everything works fine, I am able submit jobs, create jupyter and desktop sessions, but what I am having trouble is connecting with the.

For the interactive desktop, noVNC is not configured to the correct websocket port. I can check the connection.yml file and enter the correct port manually so it is not the end of the world but it is not ideal.

In a similar fashion, jupyter points to the wrong location. I can again go to the connections.yml and check the port and password and enter that manually but I really want to remove this friction from my users that are not exaclty tech savvy.

I think I must understand better how OOD handles things, but web technology is not my forte.

If anyone has insight into troubleshooting this or experience with this unconventional deployment I would appreciate the help.

Best,

---

<div class="post-metadata">

**Author:** ![jeff.ohrstrom](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/jeff.ohrstrom/32/136_2.png) [@jeff.ohrstrom](https://discourse.openondemand.org/u/jeff.ohrstrom)\
**Post date:** [November 12, 2024, 9:10pm UTC](https://discourse.openondemand.org/t/ood-in-a-single-workstation/3860/2 "2024-11-12T21:10:00Z")

</div>

Hi and welcome!

> [@lhcamilo](#):
>
> In a similar fashion, jupyter points to the wrong location. I can again go to the connections.yml and check the port and password and enter that manually but I really want to remove this friction from my users that are not exaclty tech savvy.

I’d say let’s solve this one first as it’s easier. Can you share the `view.html.erb` for this Jupyter application?

---

<div class="post-metadata">

**Author:** ![lhcamilo](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/lhcamilo/32/2065_2.png) [@lhcamilo](https://discourse.openondemand.org/u/lhcamilo)\
**Post date:** [November 13, 2024, 11:23am UTC](https://discourse.openondemand.org/t/ood-in-a-single-workstation/3860/3 "2024-11-13T11:23:18Z")

</div>

Hi there,

Thank you for taking the time to troubleshoot this with me, I really appreciate it.

Jupyter is a fine place to start. I took a stab at view.html.erb, but it became apparent to me that I did not understand how things were being handled.

```auto
<form action="/node/<%= host %>/<%= port %>/login" method="post" target="_blank">
  <input type="hidden" name="password" value="<%= password %>">
  <button class="btn btn-primary" type="submit">
    <i class="fa fa-eye"></i> Connect to Jupyter
  </button>
</form>

```

This seems to match the logic at `./template/before.sh.erb`

```auto
c.NotebookApp.base_url = '/node/${host}/${port}/'

```

From the output of one jupyter session I got this.

```auto
[I 2024-11-08 10:18:01.466 ServerApp] Jupyter Server 2.14.2 is running at:
[I 2024-11-08 10:18:01.466 ServerApp] http://localhost:21857/node/navu/21857/lab
[I 2024-11-08 10:18:01.466 ServerApp] http://127.0.0.1:21857/node/navu/21857/lab

```

So I tried to simply append the port to the beginning of the address at the view.html.erb code, without success.

---

<div class="post-metadata">

**Author:** ![jeff.ohrstrom](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/jeff.ohrstrom/32/136_2.png) [@jeff.ohrstrom](https://discourse.openondemand.org/u/jeff.ohrstrom)\
**Post date:** [November 13, 2024, 4:01pm UTC](https://discourse.openondemand.org/t/ood-in-a-single-workstation/3860/4 "2024-11-13T16:01:24Z")

</div>

> [@lhcamilo](#):
>
> In a similar fashion, jupyter points to the wrong location. I can again go to the connections.yml and check the port and password and enter that manually but I really want to remove this friction from my users that are not exaclty tech savvy.

Yea this all should _just work_. That `view.html.erb` looks good.

If you right click the button and ‘Inspect’ the HTML do you see the correct password in the form’s HTML?

 ![image](https://us1.discourse-cdn.com/flex015/uploads/osc/original/2X/4/422a69fd0524d45a78bede316be637976f5fd455.png)

---

<div class="post-metadata">

**Author:** ![lhcamilo](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/lhcamilo/32/2065_2.png) [@lhcamilo](https://discourse.openondemand.org/u/lhcamilo)\
**Post date:** [November 14, 2024, 6:39am UTC](https://discourse.openondemand.org/t/ood-in-a-single-workstation/3860/5 "2024-11-14T06:39:38Z")

</div>

Yep, I have looked at the page source and as far as I can tell the password is correct.

Though I find it odd that the error that I get is a 404 error on port 80

 ![image](https://us1.discourse-cdn.com/flex015/uploads/osc/original/2X/1/10152914fea08dd0de569a14d921aaddfc5a7de3.png)

So I am thinking that maybe I messed up something in the ood\_portal.yml config. Which is likely since I am a complete noob at web stuff.

[ood\_portal.yml](https://discourse.openondemand.org/uploads/short-url/eVRM5FwSChUeY4E4c7odFGkSIRn.yml) (13.5 KB)

I reckon there are nuances from running both OOD and jobs in the same machine that I do quite grasp. At times, I wonder if it would not had been better to have deployed OOD from an LXC container.

---

<div class="post-metadata">

**Author:** ![jeff.ohrstrom](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/jeff.ohrstrom/32/136_2.png) [@jeff.ohrstrom](https://discourse.openondemand.org/u/jeff.ohrstrom)\
**Post date:** [November 14, 2024, 2:47pm UTC](https://discourse.openondemand.org/t/ood-in-a-single-workstation/3860/6 "2024-11-14T14:47:41Z")

</div>

OK that’s easy, you haven’t enabled the reverse proxy yet. Follow these instructions and you should be good to go.

[https://osc.github.io/ood-documentation/latest/how-tos/app-development/interactive/setup/enable-reverse-proxy.html](https://osc.github.io/ood-documentation/latest/how-tos/app-development/interactive/setup/enable-reverse-proxy.html)

> [@lhcamilo](#):
>
> At times, I wonder if it would not had been better to have deployed OOD from an LXC container.

I doubt it. You’d have the same trouble you’re having now, but you’d also potentially have container issues on top of OOD setup issues.

---

<div class="post-metadata">

**Author:** ![lhcamilo](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/lhcamilo/32/2065_2.png) [@lhcamilo](https://discourse.openondemand.org/u/lhcamilo)\
**Post date:** [November 15, 2024, 11:48am UTC](https://discourse.openondemand.org/t/ood-in-a-single-workstation/3860/7 "2024-11-15T11:48:36Z")

</div>

Thanks a lot, that seems to have done the trick.  
both jupyter and novnc seem to be working as expected.

I now just need to troubleshoot the issue that vnc sessions are not being killed/cleaned if the delete button is pressed. I have looked around some other posts and It seems that this is related to lock files at /tmp.

But that is a topic for another thread.

Thanks again for the help

---

<div class="post-metadata">

**Author:** ![jeff.ohrstrom](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/jeff.ohrstrom/32/136_2.png) [@jeff.ohrstrom](https://discourse.openondemand.org/u/jeff.ohrstrom)\
**Post date:** [November 15, 2024, 2:52pm UTC](https://discourse.openondemand.org/t/ood-in-a-single-workstation/3860/8 "2024-11-15T14:52:11Z")

</div>

> [@lhcamilo](#):
>
> I now just need to troubleshoot the issue that vnc sessions are not being killed/cleaned if the delete button is pressed

What type of scheduler do you run? If it’s Slurm you need set the `ProctrackType` to `proctrack/cgroup` because some of these vnc server processes’ have parent PID of 1.

[https://slurm.schedmd.com/slurm.conf.html#OPT\_ProctrackType](https://slurm.schedmd.com/slurm.conf.html#OPT_ProctrackType)

---

<div class="post-metadata">

**Author:** ![lhcamilo](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/lhcamilo/32/2065_2.png) [@lhcamilo](https://discourse.openondemand.org/u/lhcamilo)\
**Post date:** [November 22, 2024, 12:11pm UTC](https://discourse.openondemand.org/t/ood-in-a-single-workstation/3860/9 "2024-11-22T12:11:37Z")

</div>

Hi there,

Sorry for the delay in responding.

It seems that adopting cgroups as ProcTrack has indeed solved the issue.

Thanks a lot.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex015/uploads/osc/original/2X/b/bae70bd0ed39a3ae769c2108155f4cb3e9da8385.png) [@system](https://discourse.openondemand.org/u/system)\
**Post date:** [May 21, 2025, 12:12pm UTC](https://discourse.openondemand.org/t/ood-in-a-single-workstation/3860/10 "2025-05-21T12:12:29Z")

</div>

Closed on May 21, 2025, 12:12pm UTC

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.
