shinyproxy icon indicating copy to clipboard operation
shinyproxy copied to clipboard

Is shinyproxy compatible with podman?

Open travis-leith opened this issue 3 years ago • 9 comments

Apparently RedHat 8 uses podman instead of docker. If docker is aliased to podman in this environment, is that all that is needed?

travis-leith avatar Sep 20 '22 05:09 travis-leith

Hi

ShinyProxy does not support podman. The reason is that ShinyProxy talks directly with Docker using the Docker API and not using the Docker CLI.

Note that it is possible to install Docker on a RHEL 8/9 based system since Docker provides a proper repo for it: https://docs.docker.com/engine/install/centos/ . However, this may not be feasible when using a Red Hat supported version.

I'll keep this issue open as a feature request, but to be honest with you, I don't think we will implement support for podman in the near future.

LEDfan avatar Sep 20 '22 08:09 LEDfan

Hi, if this is still relevant we managed to make it work using:

  • tcp instead of unix socket for podman daemon (launched by user account)
  • running shinyproxy container with the option proxy.docker.internal-networking set to false, leaving proxy.docker.url to the default and passing the host network to the container .

The target host was a RHEL 8.6

raulbla avatar Mar 12 '23 15:03 raulbla

Hi raulbla,

Still relevant with us. We've run into the same issue when trying to move to a new server using RHEL 8.7 and found out Docker was not supported.

Do you use keycloak or other authentication in your setup? Would you be able to provide examples of the config files you used to accomplish this?

Thanks in advance, John

jpreber avatar Apr 18 '23 22:04 jpreber

Hi raulbla,

Could you be more specific on how do you achieve use of tcp instead of unix socket for podman daemon (launched by user account) ... what exactly do you do ? What are the the right steps ?

Where do you specify proxy.docker.internal-networking proxy.docker.url values - in application.yml file ?

zack77789 avatar Aug 22 '23 07:08 zack77789

Hello @raulbla & @zack77789 i'm also in need of more detailed instructions.

Would be great if you share the settings in the config files you changed.

Thanks :-)

leberkas avatar Oct 12 '23 12:10 leberkas

Sorry for late reply I do not check the account too frequently. This is what worked so far:

Container application.yml

  proxy:
    title: Shiny Proxy
    port: 8080
    authentication: none
    container-wait-time: 200000
    my-apps-mode: inline
    docker:
        internal-networking: false
        url: http://localhost:2375

On the system (starting rootless podman):

# Start the port - it can be done with systemd too
/usr/bin/podman system service -t 0 tcp:127.0.0.1:2375 &
podman run --rm --name shinyproxy -it --net host localhost/shinyproxy:latest

I hope this helps.

raulbla avatar Oct 14 '23 16:10 raulbla

Regarding keycloak I have tested it with the bitnami implementation (https://hub.docker.com/r/bitnami/keycloak/) and by following the documentation it worked too. As for the configuration I need to double check if I can share something meaningful.

raulbla avatar Oct 14 '23 16:10 raulbla

Hi everyone ! This issue is relevant for us. We are working with RHEL9, and for security reasons we must stick with podman.

Aluriak avatar Oct 19 '23 08:10 Aluriak

Hi all, we did test podman some time ago, but back then run into issues when communicating with the (Docker compatible) API of podman. However, the recent 3.1.0 release of ShinyProxy uses a different Docker client library. Therefore, it might be that these issues are fixed now. If podman support is important for you, I suggest to test it with ShinyProxy 3.1.1. We are looking forward to you results!

LEDfan avatar Jul 02 '24 09:07 LEDfan