Issue with Opening Shiny Interactive Tool from Galaxy Interface

I followed the instructions on Galaxy Training! - Galaxy interactive tools (dev) to launch R Shiny through an interactive tool in Galaxy. However, when I try to open the Shiny app using “Open Interactive Tool” in Galaxy, instead of opening Shiny, it redirects to the Galaxy interface itself.

Galaxy is installed on an internal server (linux), and I am connecting via a MacBook browser. When I click “Run Tool” in Galaxy, a Docker container is created as follows, and I can access the Shiny app properly at http://<server_ip>:32781 from my browser:

> docker ps
CONTAINER ID   IMAGE                             COMMAND                   CREATED          STATUS                 PORTS                                                    
d0263f5d45cf   USER1/my-first-gxit:latest   "/bin/sh /home/…"   26 minutes ago   Up 26 minutes          3838/tcp, 0.0.0.0:32781->8765/tcp, [::]:32781->8765/tcp  

However, when I click “Open Interactive Tool” in Galaxy, the Shiny interface doesn’t appear; instead, the Galaxy interface itself is displayed.
This may be a port issue. Here are the relevant configuration details:

# config/galaxy.yml
gravity:
  guincorn:
    bind: localhost:8099
galaxy:
  galaxy_infrastructure_url: http://localhost:8099

# Docker image creation for Shiny
docker build -t user1_test1:latest --build-arg LOG_PATH=`pwd` --build-arg PORT=8765 .

# tools/interactive/interactovetool_tabulator.xml
<entry_point name="first gxit" requires_domain="True">
    <port>8765</port>
    <url>/</url>
</entry_point>

Could you please guide me on how to resolve this issue?

Thank you for your help!

@kmat are Interactive Tools like Juypter working for you in your dev-setup? Could you check this? We could then rule out problems with the setup vs. problems with the R-Shiny container.

I have been testing several interactive tools as below

Steps Taken

  1. Updated Galaxy’s port to 8080 via galaxy.yml by setting gunicorn: bind: localhost:8080 and galaxy: galaxy_infrastructure_url: http://localhost:8080

  2. Uncommented the … part in config/tool_conf.xml (created from tool_conf.xml.sample).

  3. Started Galaxy on the server and accessed it via port forwarding from my MacBook using http://localhost:8080.

  4. Attempted to access tools from the “Interactive Tools” tab after running them from the “Tools” tab.

Results

I tested JupyterLab Notebook and RStudio; Both tools returned 404 errors as follows:

Interactive JupyterLab Notebook

404 Not Found
The resource could not be found.

No route for /interactivetool/ep/1zaf1iadgjme4/2fm1a66u0jr8m/ipython/lab

RStudio

404 Not Found
The resource could not be found.

No route for /interactivetool/ep/q1rkq7fprnuy/3ack47l7t2eqr/

I was able to access RStudio directly by connecting to the container’s port (http://<server_ip>:) using the port from docker ps. However, JupyterLab failed with the message:

404: Not Found  
You are requesting a page that does not exist!  

It seems that for “Tabulator,” accessing the tool connects to the Galaxy interface itself, which appears to be a separate issue from the “Not Found” errors mentioned above… After reviewing the Tabulator XML, I noticed it lacks the <environment_variables> tag present in JupyterLab and RStudio XML files. This might be related to the issue. The Tabulator XML file was modified only within the tag based on the “Solution” section of Galaxy Interactive Tools - The application - The tool XML


I suspect there are multiple issues:

The 404 errors for JupyterLab and RStudio might be related to routing or configuration.
The Tabulator redirection issue could stem from a missing <environment_variables> tag or another XML configuration detail.


If you has suggestions or ideas on how to resolve these problems, I would greatly appreciate your guidance.
Thank you for your time and support!

That sounds likely. OSX makes is particular problematic I think as you have an additional level of routing involved. Any change you can use a VM? Or does GitHub - bgruening/docker-galaxy: 🐳📊📚 Docker Images tracking the stable Galaxy releases. work for you? It should be able to run ITs as Jupyter.