Shinyproxy: Digitalocean 应用平台部署

创建于 2021-01-15  ·  15评论  ·  资料来源: openanalytics/shinyproxy

大家好!

有人对 Digitalocean 应用程序平台有任何建议/提示吗? (https://www.digitalocean.com/products/app-platform/)。

据我了解,这是在后台使用 Kubernetes 运行的。 因此,我想知道是否可以在那里使用shinyproxy ,如果可以,什么是最合适的配置。

提前致谢!
费利佩

question

所有15条评论

你好

我认为我们对这个平台没有任何经验。 但是,我认为如果 Kubernetes API 可用于运行它的应用程序,则应该可以在其上使用 ShinyProxy。

你能同时尝试一下吗? 当然,我们很好奇您在这个平台上使用 ShinyProxy 是否成功。

我最终将所有内容都转移到了 AWS - 但我还有另一个测试项目要尝试一下。 我会在这里发布更新。 感谢您的答复!

@fmmattioni你可以使用你的 Dockerfile 并遵循这个模板: https :

@fmmattioni

如果可能,我总是建议使用我们的官方 Docker 镜像。 此映像具有一些安全增强功能(即在非 root 用户下运行 ShinyProxy)。

嗯,好主意! 我不知道! 感谢您的抬头!

只是一个问题:我一直在使用旧版本的 Shinyproxy,因为最新版本不适用于 AWS Cognito 身份验证。 我也可以通过那里的标签简单地获取这个旧版本 - 还是这些安全增强仅存在于最新版本中?

@fmmattioni

安全增强功能包含在任何版本中。

您提到最新版本的 ShinyProxy 不适用于 AWS Cognito。 我们不知道 OIDC 在最新版本 (2.4.3) 中有任何问题。 你能打开一个新问题,提供更多细节吗? (例如,您遇到什么行为,记录的任何错误等)。 我们真的希望 ShinyProxy 能够与任何 Auth 提供者无缝协作,因此如果出现错误,我们真的很想解决它。

只是为了确保我得到它,这就是我的 Dockerfile 中应该包含的内容,对吗?

FROM openanalytics/shinyproxy:latest

COPY application.yml /opt/shinyproxy/application.yml

WORKDIR /opt/shinyproxy/
CMD ["java", "-jar", "/opt/shinyproxy/shinyproxy.jar"]

至于 AWS Cognito 的问题,我记得上次我设置它时,日志提到server.useForwardHeaders选项在最新版本中仍然不起作用。 不过,我不记得这是否是2.4.3 。 让我做一个快速测试,我会告诉你的。

感谢您的回复!

是的,这是一个适合与 ShinyProxy 一起使用的 Docker 文件,尽管您甚至可以缩短它:

FROM openanalytics/shinyproxy:latest

COPY application.yml /etc/shinyproxy/application.yml

如果您没有指定WORKDIRCMD指令,Docker 将从基础镜像中获取它们。 我们的基本映像指定/etc/shinyproxy作为工作目录,因此您可以将配置文件放在那里。

关于server.useForwardHeaders属性。 您可能收到以下警告消息:

WARNING: Using server.use-forward-headers will not work in this ShinyProxy release. See https://shinyproxy.io/documentation/security/#https-ssl--tls on how to change your configuration.

所以从 2.4.0 开始,配置转发头的属性发生了变化,但转发头仍然有效。 您只需要使用以下配置:

server:
  forward-headers-strategy: native

而不是旧财产。
我注意到警告消息实际上应该指向https://shinyproxy.io/documentation/security/#forward -headers 。 我会在下一个版本中更改它。

这正是我收到的警告!

对不起,我什至懒得更仔细地阅读页面......我将再次测试它 - 如果我有任何问题,我会告诉你们!

谢谢!

快速更新: server.forward-headers-strategy属性确实与 AWS Cognito 一起正常工作! 非常感谢您为我指明了正确的方向!

@LEDfan ,在按照openanalytics/shinyproxy docker 映像的建议设置我的新配置时,我注意到我总是收到以下错误:

image

这是我的 Dockerfile:

FROM openanalytics/shinyproxy:latest

COPY application.yml /etc/shinyproxy/application.yml

但是,当我将 Dockerfile 更改为:

FROM openjdk:8-jre

RUN mkdir -p /opt/shinyproxy/
RUN wget https://www.shinyproxy.io/downloads/shinyproxy-2.4.3.jar -O /opt/shinyproxy/shinyproxy.jar
COPY application.yml /opt/shinyproxy/application.yml

WORKDIR /opt/shinyproxy/
CMD ["java", "-jar", "/opt/shinyproxy/shinyproxy.jar"]

一切都按预期工作。

使用第一个 Dockerfile 时,我应该在application.yml更改任何内容或修改nginx的特定设置吗?

如果我应该打开一个新问题或提供更多细节,请告诉我。

@fmmattioni

我忘了说,因为我们的镜像使用的是非 root 用户,所以默认情况下它无权访问 docker 套接字。
您必须使用以下命令运行 ShinyProxy docker 映像:

docker run  -v /var/run/docker.sock:/var/run/docker.sock:ro --group-add $(getent group docker | cut -d: -f3) -p 8080:8080 openanalytics/shinyproxy

$(getent group docker | cut -d: -f3)部分决定了 docker 的 group-id。 --group-add参数确保在 ShinyProxy docker 容器内运行的用户是该组(即 docker 组)的一部分,因此 ShinyProxy docker 容器可以访问 docker 套接字。

另外请确保您没有设置proxy.docker.url属性。 只有当你不提供它时,ShinyProxy 才会访问 docker 套接字而不是一些 docker HTTP 端口。

祝你好运!

甜的! 非常感谢您提供的详细信息! 我可以确认这现在正在起作用。

谢谢!

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

fmmattioni picture fmmattioni  ·  3评论

jat255 picture jat255  ·  4评论

shrektan picture shrektan  ·  9评论

dylancis picture dylancis  ·  3评论

lucius-verus-fan picture lucius-verus-fan  ·  8评论