# Several questions about new Ubuntu 20.04 install of Ondemand

**URL:** <https://discourse.openondemand.org/t/several-questions-about-new-ubuntu-20-04-install-of-ondemand/2067>\
**Category:** Get Help\
**Tags:** question\
**Created:** [May 13, 2022, 3:39pm UTC](https://discourse.openondemand.org/t/several-questions-about-new-ubuntu-20-04-install-of-ondemand/2067 "2022-05-13T15:39:00Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![dtenenba](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/dtenenba/32/1075_2.png) [@dtenenba](https://discourse.openondemand.org/u/dtenenba)\
**Post date:** [May 13, 2022, 3:39pm UTC](https://discourse.openondemand.org/t/several-questions-about-new-ubuntu-20-04-install-of-ondemand/2067/1 "2022-05-13T15:39:01Z")

</div>

I have a few questions. If I should break this up into separate posts for each question, let me know and I’ll delete this post and make new ones.

1. The [documentation](https://osc.github.io/ood-documentation/latest/installation.html#installation) says that the machine running OOD should be configured similarly to a cluster login host and should have scheduling (slurm, etc) software installed. Is this actually true? I ask because the cluster configuration containins the `login/host` key which is a machine that is reached by `ssh` where (if I understand correctly) the actual job submission is done. So - is it required that the OOD node be able to submit jobs directly or is it sufficient that it can do so via ssh? If the latter it would simplify our production configuration a great deal.

2. When I try and open a shell in OOD I get “Failed to establish a websocket connection. Be sure you are using a browser that supports websocket connections.” (I’ve tried several browsers including Chrome) and I see this in the apache error log:

```nohighlight
[Fri May 13 15:23:03.121366 2022] [proxy:warn] [pid 70886:tid 139721502082816] [client [my-ip-redacted]:51832] AH01144: No protocol handler was valid for the URL /pun/sys/shell/ssh/ip-[redacted-ip].us-west-2.compute.internal (scheme 'unix'). If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.
[Fri May 13 15:23:03.121806 2022] [lua:info] [pid 70886:tid 139721502082816] [client [my-ip-redacted]:51832] res_content_location="" log_hook="ood" res_content_disp="" log_id="LxQeQG78SKU" req_uri="/pun/sys/shell/ssh/ip-[redacted-ip].us-west-2.compute.internal" req_protocol="HTTP/1.1" remote_user="ubuntu" req_method="GET" res_content_encoding="" req_user_agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36 OPR/86.0.4363.50" time_proxy="0.457" req_accept_encoding="gzip, deflate, br" req_server_name="openondemand-staging.[redacted].org" res_content_length="632" req_accept="" res_content_type="text/html; charset=iso-8859-1" req_accept_language="en-us,en;q=0.9" time_user_map="0.003" res_location="" req_origin="https://openondemand-staging.[redacted].org" req_filename="proxy:ws://localhost/pun/sys/shell/ssh/ip-[redacted-ip].us-west-2.compute.internal?csrf=ZuZzcdOf-JleEqMHjBKY1vE8MFd3IpNF6Ne7" req_status="500" req_is_websocket="true" req_handler="proxy-server" req_cache_control="no-cache" res_content_language="" req_referer="" req_hostname="openondemand-staging.[redacted].org" req_user_ip="[my-ip-redacted]" log_time="2022-05-13T15:23:03.121720Z" req_is_https="true" req_accept_charset="" req_content_type="" req_port="443" local_user="ubuntu"

```

1. When I try and run an interactive desktop, the job fails with errors saying it cannot find `vncpasswd` and `vncserver`, even though these are installed and in the PATH on the compute nodes, along with the other requirements (websockify, nmap, etc).

2. I understand that Passenger apps are web apps that run on the OOD node, and Interactive Apps run on cluster compute nodes. Is it possible to write a custom web app, similar to a Passenger app, but have it run as an Interactive App on cluster compute nodes? If so, is this process documented anywhere? The only documentation I could find was for specific things like Jupyter and RStudio, not for custom web apps.

Thanks in advance.

---

<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:** [May 13, 2022, 4:27pm UTC](https://discourse.openondemand.org/t/several-questions-about-new-ubuntu-20-04-install-of-ondemand/2067/2 "2022-05-13T16:27:44Z")

</div>

1. There is a variant here. One way is everything is executed locally, `squeue`, `sbatch` and so on. Another variant is that you specify `submit_host` in the `cluster.d` file and we’ll SSH to that host and issue commands.

2. I think you need the WS Apache module  
This should enabled it (you may also have to install it).

```auto
 sudo a2enmod proxy_wstunnel

```

1. Use `script_wrapper` to debug what your PATH actually is during the job’s execution. You expect it to be there, but the question is what is is really?

[https://osc.github.io/ood-documentation/latest/reference/files/submit-yml/basic-bc-options.html](https://osc.github.io/ood-documentation/latest/reference/files/submit-yml/basic-bc-options.html)

1. Sure - but you’re writing a web app so it’s a bit of work. We have libraries available to sort of help - but I’ll bet there’s a learning curve.

Here’s an example of a workflow app that we maintain.

> **[GitHub - OSC/vftwebapp: See wiki for test case](https://github.com/OSC/vftwebapp)**
>
> See wiki for test case. Contribute to OSC/vftwebapp development by creating an account on GitHub.

Here’s it’s basic premise. There’s a workflow with 4 steps. The first step is an interactive session to setup computations in a GUI (VFTSolid)

Here’s an image I’m presented with when that job is launched and running. As you indicate - it’s a Passenger app that started an interactive session (maybe/probably through our `ood_core` library)

 ![image](https://us1.discourse-cdn.com/flex015/uploads/osc/original/2X/9/9001cdf824eaa1aaa1239fee97e75e6ecada7c08.png)

You click through, do your thing. Then the next stages are batch jobs that generate Thermal and Structural analyses which you can view. I suspect you’re asking for something similar. As you’ll see it’s no small feat, and when I say we maintain it - you can tell how often we update it, so there’s a maintenance cost to these apps. This app specifically is more or less in maintenance mode where we only update it when it breaks and we _need_ to.

---

<div class="post-metadata">

**Author:** ![dtenenba](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/dtenenba/32/1075_2.png) [@dtenenba](https://discourse.openondemand.org/u/dtenenba)\
**Post date:** [May 13, 2022, 5:24pm UTC](https://discourse.openondemand.org/t/several-questions-about-new-ubuntu-20-04-install-of-ondemand/2067/3 "2022-05-13T17:24:27Z")

</div>

Thanks, appreciate the quick and comprehensive answers.

1. Is what I wanted to klnow.
2. Worked a charm!
3. Still having some trouble. Edited `/var/www/ood/apps/sys/bc_desktop/submit.yml.erb` and added `before_file: /home/ubuntu/before_file.sh`. That file exists, is executable, and contains various diagnostics. I restarted apache and the PUN and then submitted a new desktop job. It failed with the same error and did not run my diagnostics. There was a before.sh script in the same directory as the job log that contains:

```nohighlight
# Export the module function if it exists
[[$(type -t module) == "function"]] && export -f module

```

Did I do something wrong in setting up the `before_file`?

1. Thanks, that’s what I wanted to know. Ruby might be the path of least resistance but is it possible to write interactive webapps in another language? I’m thinking python since that is our officially supported language…

BTW, I am having a new issue now. When I try and SSH to my OOD node I get this:

```nohighlight
channel 0: open failed: administratively prohibited: open failed
stdio forwarding failed
kex_exchange_identification: Connection closed by remote host
Connection closed by UNKNOWN port 65535

```

This just started happening after getting the shell functionality working in OOD so I am wondering if somehow I messed up actual ssh connections by doing that? Luckily I can get in via the OOD shell, otherwise I would be completely locked out.

Thanks again.

---

<div class="post-metadata">

**Author:** ![dtenenba](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/dtenenba/32/1075_2.png) [@dtenenba](https://discourse.openondemand.org/u/dtenenba)\
**Post date:** [May 13, 2022, 5:36pm UTC](https://discourse.openondemand.org/t/several-questions-about-new-ubuntu-20-04-install-of-ondemand/2067/4 "2022-05-13T17:36:53Z")

</div>

Ignore the ssh issue - figured that out.  
Still could use help with the `before_file` thing though. Thanks.

---

<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:** [May 13, 2022, 6:09pm UTC](https://discourse.openondemand.org/t/several-questions-about-new-ubuntu-20-04-install-of-ondemand/2067/5 "2022-05-13T18:09:21Z")

</div>

First, you don’t want to be editing files in `/var/www/ood`, only `/etc/ood/config`.

Secondly, I think you want `script_wrapper`. One thing to note here is that `job_script_content.sh` is the file being submitted to Slurm. So that’s the entry point when you go looking for how this job does what it does. You’ll see there that it does all this stuff before the before script, so `script_wrapper` will let you add something at the immediate top.

FWIW here are our production configurations These sub-directories get dropped file for file, as is, into `/etc/ood/config`. This is how we reconfigure the `bc_desktop` app.

> **[osc-ood-config/ondemand.osc.edu at master · OSC/osc-ood-config](https://github.com/OSC/osc-ood-config/tree/master/ondemand.osc.edu)**
>
> master/ondemand.osc.edu

---

<div class="post-metadata">

**Author:** ![dtenenba](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/dtenenba/32/1075_2.png) [@dtenenba](https://discourse.openondemand.org/u/dtenenba)\
**Post date:** [May 13, 2022, 6:34pm UTC](https://discourse.openondemand.org/t/several-questions-about-new-ubuntu-20-04-install-of-ondemand/2067/6 "2022-05-13T18:34:42Z")

</div>

Thanks. I don’t see where `script_wrapper` is documented? it’s not in [submit.yml.erb — Open OnDemand 2.0.20 documentation](https://osc.github.io/ood-documentation/latest/reference/files/submit-yml-erb.html) and does not seem to be referenced in the files in the repo you just linked to.

---

<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:** [May 13, 2022, 6:55pm UTC](https://discourse.openondemand.org/t/several-questions-about-new-ubuntu-20-04-install-of-ondemand/2067/7 "2022-05-13T18:55:03Z")

</div>

Sorry you have to click through to `Basic Batch Connect Options`. That page also shows how to set these options globally at the cluster level.

Also you’re about to run into this nightly bug where VNC jobs don’t work. 10 million apologies for the instability in nightly. I’ll try to fix it next week, and as it’s a nightly, as soon as I fix it it’ll be published the next day.

> <https://github.com/OSC/ondemand/issues/2023>
>
> Nightlies currently fail to render cards for vnc jobs. 
> 
> Steps to replicate:
> 
> 
> \*… luanch a VNC interactive job
> \* navigate to the sessions index
> 
> \`\`\`text
> \#\<Sprockets::Rails::Helper::AssetNotFound: The asset "noVNC-1.1.0/vnc.html" is not present in the asset pipeline.
> \>
> 
> /opt/ood/ondemand/root/usr/share/gems/2.7/ondemand/2.1.20220513/gems/sprockets-rails-3.4.2/lib/sprockets/rails/helper.rb:84:in \`compute\_asset\_path'
> /opt/ood/ondemand/root/usr/share/gems/2.7/ondemand/2.1.20220513/gems/actionview-6.1.5.1/lib/action\_view/helpers/asset\_url\_helper.rb:203:in \`asset\_path'
> /var/www/ood/apps/sys/dashboard/app/views/batch\_connect/sessions/connections/\_novnc.html.erb:1:in \`\_app\_views\_batch\_connect\_sessions\_connections\_\_novnc\_html\_erb\_\_\_3233746748023737840\_13040'
> /opt/ood/ondemand/root/usr/share/gems/2.7/ondemand/2.1.20220513/gems/actionview-6.1.5.1/lib/action\_view/base.rb:247:in \`public\_send'
> /opt/ood/ondemand/root/usr/share/gems/2.7/ondemand/2.1.20220513/gems/actionview-6.1.5.1/lib/action\_view/base.rb:247:in \`\_run'
> /opt/ood/ondemand/root/usr/share/gems/2.7/ondemand/2.1.20220513/gems/actionview-6.1.5.1/lib/action\_view/template.rb:154:in \`block in render'
> /opt/ood/ondemand/root/usr/share/gems/2.7/ondemand/2.1.20220513/gems/activesupport-6.1.5.1/lib/active\_support/notifications.rb:205:in \`instrument'
> /opt/ood/ondemand/root/usr/share/gems/2.7/ondemand/2.1.20220513/gems/actionview-6.1.5.1/lib/action\_view/template.rb:345:in \`instrument\_render\_template'
> /opt/ood/ondemand/root/usr/share/gems/2.7/ondemand/2.1.20220513/gems/actionview-6.1.5.1/lib/action\_view/template.rb:152:in \`render'
> \`\`\`
> 
> 
> 
> ┆Issue is synchronized with this \[Asana task\](https://app.asana.com/0/1201735133575781/1202276169893006) by \[Unito\](https://www.unito.io)

---

<div class="post-metadata">

**Author:** ![dtenenba](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/dtenenba/32/1075_2.png) [@dtenenba](https://discourse.openondemand.org/u/dtenenba)\
**Post date:** [May 13, 2022, 7:16pm UTC](https://discourse.openondemand.org/t/several-questions-about-new-ubuntu-20-04-install-of-ondemand/2067/8 "2022-05-13T19:16:22Z")

</div>

No worries at all.

Maybe I will put this aside till it is fixed and focus on other things. I’m just trying to get all the cool features working so I can demo it and get people excited about it, and also to learn how to set up our production instance. I’ll probably need some guidance on how to update when the new version becomes available. Or should I be working with the latest stable release instead of a nightly?

Thanks for the pointer to the script\_wrapper documentation. I wonder if I can trouble you to send me a _minimal_ .yml.erb file that uses script\_wrapper but otherwise uses all defaults. I am a bit confused by all the extraneous stuff in the repo you linked to - not sure what’s necessary and what’s not.

Going back to an earlier question - can interactive web apps be written in languages other than Ruby? I am assuming yes because RStudio and Jupyter are certainly not written in Ruby, but it would be great to confirm. Our usual stack for web apps is python + flask. Right now I’m working on getting a hello world passenger app working with that stack, and after that I’d like to try an interactive one.

Really appreciating all the support - this makes me feel confident that we’ll be in good hands when we roll this out to our users.

---

<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:** [May 13, 2022, 7:27pm UTC](https://discourse.openondemand.org/t/several-questions-about-new-ubuntu-20-04-install-of-ondemand/2067/9 "2022-05-13T19:27:08Z")

</div>

> [@dtenenba](#):
>
> Maybe I will put this aside till it is fixed and focus on other things. I’m just trying to get all the cool features working so I can demo it and get people excited about it, and also to learn how to set up our production instance.

You can still do `basic` interactive apps (not `vnc`). Jupyter’s probably the easiest to get going.

> [@dtenenba](#):
>
> I’ll probably need some guidance on how to update when the new version becomes available. Or should I be working with the latest stable release instead of a nightly?

Installing from source to get the latest stable version is likely hard/unstable to upgrade. That is, installing the latest stable release from the source may be OK - but upgrading source installations is not something we test and I doubt it would upgrade easily.

The nightly on the other hand should just be as simple as pulling down the new deb and running `apt install` (or `apt update`). But then again, you may replace some bugs with new ones.

> [@dtenenba](#):
>
> Thanks, that’s what I wanted to know. Ruby might be the path of least resistance but is it possible to write interactive webapps in another language? I’m thinking python since that is our officially supported language…

Yes, `ruby` (2.7), `nodejs` (14) and `python` (3.x) are available. Defaults are given which you can override.

You ask the question again though - these are `Passenger` apps. Passenger apps are web stacks that boot and run on the web node. In fact - the dashboard _is_ a Passenger app.

We don’t care about the language interactive apps are in. They boot and run on compute nodes during a job and we just proxy to them. They speak HTTP (that’s `basic`) or we step the VNC infrastructure to connect (that’s `vnc`, and also over HTTP).

---

<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:** [May 13, 2022, 7:35pm UTC](https://discourse.openondemand.org/t/several-questions-about-new-ubuntu-20-04-install-of-ondemand/2067/10 "2022-05-13T19:35:10Z")

</div>

> [@dtenenba](#):
>
> I wonder if I can trouble you to send me a _minimal_ .yml.erb file that uses script\_wrapper

Here’s how we set it globally in one of our `cluster.d` files.

 ![image](https://us1.discourse-cdn.com/flex015/uploads/osc/original/2X/6/671db554c05e632d67d7ec7fc5f561d492e10b4c.png)

The example is much nicer using a YAML multiline string `|`

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

---

<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:** [May 13, 2022, 7:38pm UTC](https://discourse.openondemand.org/t/several-questions-about-new-ubuntu-20-04-install-of-ondemand/2067/11 "2022-05-13T19:38:43Z")

</div>

You can use `script_wrapper` just like `before_script`. I mean - in the same place, in the same YAML. `script_wrapper` are `before_script` siblings in whatever YAML structure you put them in (globally or just for that app).

> <https://github.com/OSC/osc-ood-config/blob/80d9fed697ce21a561d9f25c2851224614ca2a25/ondemand.osc.edu/apps/bc_desktop/submit/vdi.yml.erb#L6-L16>

```nohighlight
batch_connect:
  script_wrapper: |
    echo $PATH
    which vncserver
    module list
    %s

```

---

<div class="post-metadata">

**Author:** ![dtenenba](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/dtenenba/32/1075_2.png) [@dtenenba](https://discourse.openondemand.org/u/dtenenba)\
**Post date:** [May 13, 2022, 8:05pm UTC](https://discourse.openondemand.org/t/several-questions-about-new-ubuntu-20-04-install-of-ondemand/2067/12 "2022-05-13T20:05:30Z")

</div>

Thanks for all that.

I am trying to get a Passenger app written in Python/Flask to work. When I try and run it I get an error:

```nohighlight
  File "/home/ubuntu/ondemand/dev/flask_passenger_wsgi_hello/sample/app/ __init__.py", line 9, in <module>
    from flask import Flask
ImportError: No module named flask

```

In my python script I have this:

```auto
import sys
print(sys.executable)

```

…and on the error page it prints out `/usr/bin/python`

So that tells me it is using python 2 and not python 3 which I want (and also where flask is installed).

Both my passenger\_wsgi.py and my application code start with `#!/usr/bin/python3` but that seems to be ignored. How can I force passenger (or whatever) to use /usr/bin/python3 or another version of python3?

---

<div class="post-metadata">

**Author:** ![dtenenba](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/dtenenba/32/1075_2.png) [@dtenenba](https://discourse.openondemand.org/u/dtenenba)\
**Post date:** [May 13, 2022, 8:11pm UTC](https://discourse.openondemand.org/t/several-questions-about-new-ubuntu-20-04-install-of-ondemand/2067/13 "2022-05-13T20:11:11Z")

</div>

Sorry again for the noise. I got it to work.

```auto
import sys, os
INTERP = '/usr/bin/python3'
if sys.executable != INTERP:
	os.execl(INTERP, INTERP, *sys.argv)
sys.path.append(os.getcwd())

```

---

<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:** [May 13, 2022, 8:21pm UTC](https://discourse.openondemand.org/t/several-questions-about-new-ubuntu-20-04-install-of-ondemand/2067/14 "2022-05-13T20:21:27Z")

</div>

A better way may be this to have what rails calls a binstub in `bin/python` (be sure it’s executable).

```bash
#!/bin/bash
# /home/ubuntu/ondemand/dev/flask_passenger_wsgi_hello/bin/python

/usr/bin/python3 $@

```

---

<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:** [May 13, 2022, 8:22pm UTC](https://discourse.openondemand.org/t/several-questions-about-new-ubuntu-20-04-install-of-ondemand/2067/15 "2022-05-13T20:22:17Z")

</div>

But also - becuase you’re on nightly - we will be upgrading to python3 when we add Ubuntu 22 support in the next 1-2 weeks.

---

<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:** [May 18, 2022, 7:35pm UTC](https://discourse.openondemand.org/t/several-questions-about-new-ubuntu-20-04-install-of-ondemand/2067/16 "2022-05-18T19:35:57Z")

</div>

I have a patch for the VNC bug in right now. It’s easy enough to apply yourself, though it should hit nightly maybe tonight - latest would be the build you can download on Friday.

> <https://github.com/OSC/ondemand/pull/2038>
>
> Fixes #2023 
> 
> Fix VNC apps by skipping the pipeline here.

---

<div class="post-metadata">

**Author:** ![dtenenba](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/dtenenba/32/1075_2.png) [@dtenenba](https://discourse.openondemand.org/u/dtenenba)\
**Post date:** [May 18, 2022, 7:57pm UTC](https://discourse.openondemand.org/t/several-questions-about-new-ubuntu-20-04-install-of-ondemand/2067/17 "2022-05-18T19:57:03Z")

</div>

I will download it on Friday. Do I do that differently than my original install? Just reinstall over the existing version?  
Thanks.

---

<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:** [May 18, 2022, 8:05pm UTC](https://discourse.openondemand.org/t/several-questions-about-new-ubuntu-20-04-install-of-ondemand/2067/18 "2022-05-18T20:05:11Z")

</div>

Yea i think an `apt-get install --only-upgrade ondemand` should do the trick.

---

<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:** [August 12, 2022, 5:34pm UTC](https://discourse.openondemand.org/t/several-questions-about-new-ubuntu-20-04-install-of-ondemand/2067/19 "2022-08-12T17:34:43Z")

</div>

Open OnDemand 2.0.28 now has support for Ubuntu 18.04 and 20.04. We’re releasing and supporting those `.deb` packages from that version on.

> [@Open OnDemand 2.0 Ubuntu support](https://discourse.openondemand.org/t/open-ondemand-2-0-ubuntu-support/2231):
>
> Open OnDemand 2.0.28 is now available with the notable feature of supporting Ubuntu 20.04 and 18.04 platforms. Added Support for Ubuntu 18.04 & 20.04 platforms. fujitsu\_tcs support. Dex can now be ran behind the apache proxy by setting dex\_uri. This means sites can use apache to proxy to dex instead of opening up 5556 or 5554 ports and accessing dex directly. Fixed passenger\_options can now correctly be used fixing a bug. PUNs environments are now sanitized, removing OIDC and/or other en…

---

<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:** [February 8, 2023, 5:35pm UTC](https://discourse.openondemand.org/t/several-questions-about-new-ubuntu-20-04-install-of-ondemand/2067/20 "2023-02-08T17:35:40Z")

</div>

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