openanalytics / shinyproxy

ShinyProxy - Open Source Enterprise Deployment for Shiny and data science apps
https://www.shinyproxy.io
Apache License 2.0
513 stars 152 forks source link

Is shinyproxy compatible with podman? #385

Open travis-leith opened 1 year ago

travis-leith commented 1 year ago

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

LEDfan commented 1 year ago

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.

raulbla commented 1 year ago

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

The target host was a RHEL 8.6

jpreber commented 1 year ago

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

zack77789 commented 11 months ago

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 ?

leberkas commented 9 months ago

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 :-)

raulbla commented 9 months ago

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 commented 9 months ago

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.

Aluriak commented 9 months ago

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

LEDfan commented 2 weeks ago

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!