问题标签 [shinyproxy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
119 浏览

azure-web-app-service - 在 Azure 上托管 ShinyProxy

我正在探索 Azure 上 ShinyProxy 的 Docker 功能,我希望以一种简单、可扩展且经济实惠的方式对其进行设置。据我了解,有五种方法可以在 Azure 上设置基于 Docker 的服务。

问题

我的问题有两个,

  1. 部署基于 ShinyProxy 的容器的一般经验,这些容器会根据连接的用户会话生成和销毁其他容器;
  2. 如何纠正我的方法?

方法

(从最理想到最不理想列出;除了虚拟机方法之外的所有测试。)

A) 应用服务 Docker 或 Docker Compose 设置

大多数经验,复杂性都被抽象掉了。

通过这种方法,我发现 Docker 和 Docker Compose for Azure App Services 的当前实现不支持(忽略)networks(据我了解)让 ShinyProxy 与内部网络上的其他容器通信所需的那些。在 Docker Compose 文件中,我指定了以下内容(并验证它在本地工作):

如果我正确理解文档,您将无法为您的容器创建任何自定义网络。目前尚不清楚您是否可以创建可用于此目的的自定义 Azure vnet(我没有创建这些的经验)。

这个 ShinyProxy 设置的第二个重要部分是docker.sock将主机和容器中的文件映射在一起。同样,这可以通过 Docker Compose 文件或单个 Docker 文件的参数来完成。这就是我在 Docker Compose 文件中指定它的方式(并验证它是否有效):

然后使用docker_sock命名卷与容器/var/run/docker.sock文件docker_sock:/var/run/docker.sock.

由于这两个问题,尝试访问specsShinyProxyapplication.yml文件中定义的任何内容只会导致 aConnection refusedFile could not be foundJava 错误。两者都对应于网络通信和docker.sock映射。

B) 容器实例

新型服务,看起来很简单

与应用服务方法几乎相同的问题。

C) 容器应用

新型服务,看起来很简单

与应用服务方法几乎相同的问题。

D) Kubernetes 服务

需要很多额外的配置。

尝试过,但放弃了这种方法,因为我不想处理额外的配置层,而且我怀疑我是否需要这么多的控​​制来实现我想要的目标。

E) 虚拟机

需要对生产环境进行大量设置和自我管理。

还没试过。似乎有几篇文章讨论了如何解决这个问题。

本地复制

这是我的配置文件的一些修改示例。我留下了一些评论,并在那里评论了属性。

闪亮代理application.yml

闪亮代理Dockerfile

docker-compose.yml

准备好所有文件后,只需运行docker compose build && docker compose up.

0 投票
0 回答
38 浏览

r - 带有 PWA 的 Shinyproxy

我正在尝试使用 keycloak 用户身份验证在闪亮代理服务器上托管渐进式 Web 应用程序 (PWA)。但是,无法加载 webmanifest。关于如何在 shinyproxy 上托管与 PWA 兼容的闪亮应用程序有什么建议吗?

0 投票
0 回答
31 浏览

shiny - 更新图像时如何从 Shiny Proxy 重新加载闪亮的应用程序容器

我有一个闪亮的代理服务器,它启动了一个为闪亮的应用程序服务的容器。但我知道heartbeat-timeout: <x milliseconds> 闪亮代理中有这种配置,它将在浏览器窗口/选项卡关闭后仅x 毫秒停止闪亮的应用程序容器。现在,如果我们在这x 毫秒内打开同一个应用程序,那么该应用程序将由同一个容器提供服务,因为它已经在运行。但是说闪亮的应用程序图像在后台更新,当用户关闭并重新打开应用程序(浏览器窗口/选项卡)时,有没有办法停止容器(即使x 毫秒还没有过去)并开始一个新的闪亮来自新更新图像的应用容器?

0 投票
0 回答
14 浏览

nginx - 使用带有 Shinyproxy 的 nginx 位置块

我最近通过以下方式成功部署了一个使用 SSL 与 nginx 和 certbot 的 ShinyProxy + 应用程序:

  1. Dockerize ShinyProxy + app 并在 port 上启动127.0.0.1:5001
  2. 创建 Nginx 配置proxy_pass并将127.0.0.1:5001.
  3. 安全使用certbot.

这是成功的 nginx.conflocation部分:

这很好地将我重定向到https://app.myweb.com/login我已经设置了一个CNAME. 需要注意的是,{ShinyProxy} 会login自动重定向到末尾。成功登录后,url 重定向到https://app.myweb.com/app/website.

我真正挣扎的是以下几点:添加一个location block或据我所知,将我的upstream块包含在我的downstream(如果我错了,请更正我的条款)。所以,让我的 url 转到在 nginxhttps://app.myweb.com/loginhttps://app.myweb.com/dashboard/login使用以下配置:

所发生的一切是,如果我键入https://app.myweb.com/dashboard/它不会https://app.myweb.com/dashboard/login像我期望的那样去,而是重定向回https://app.myweb.com/loginwhich 404's.

关于我做错了什么的任何建议?

0 投票
0 回答
16 浏览

amazon-web-services - Kubernetes 的 SAML 错误:“响应的 InResponseToField 与发送的消息不对应”

我在 kubernetes 集群(当前为单个节点)中托管的 shinyproxy(当前为 2.5.0 - 基于 Springboot)遇到一个反复出现的问题。我将 Auth0 与 SAML 一起使用。流量通过一个 Nginx 入口控制器,该控制器执行 TLS 终止并具有相当基本的配置。我不明白的是,我会收到以下错误,但只是偶尔会出现一次。如果我尝试登录,我会收到错误消息,但之后,如果我返回登录页面并尝试再次登录,一切正常。

这让我想到了 cookie 问题,但是调整 cookie 的闪亮代理服务器/代理配置并没有改变任何东西。Shinyproxy 配置有:

在浏览器中,当我尝试登录时,我收到以下错误消息:

任何人都知道我错过了什么?我真的很感激!谢谢!

0 投票
0 回答
11 浏览

docker - ShinyProxy + 外部数据库

我使用shinyproxy 为Rshiny 中的应用程序提供服务。应用程序必须连接到本地数据库。但是,我还没有找到直接连接到主机的方法。所以我尝试对数据库进行 dockerize 并创建一个网络并为每个应用程序使用docker.internal-networking: trueand 。container-network-connections: my-network

您是否有任何解决方案可以直接从 Shinyproxy 连接到我的本地数据库或在 docker + 网络中修复数据库解决方案。

谢谢 !