Olá a todos!
Alguém tem sugestões / dicas sobre a plataforma de aplicativos Digitalocean? (https://www.digitalocean.com/products/app-platform/).
Pelo que entendi, isso é executado com o Kubernetes em segundo plano. Portanto, gostaria de saber se posso usar shinyproxy
ali, e se sim, qual seria a configuração mais adequada.
Desde já, obrigado!
Felipe
Oi
Não creio que tenhamos experiência com esta plataforma. Mas, acho que se a API Kubernetes estiver disponível para os aplicativos que a executam, deve ser possível usar ShinyProxy nela.
Você conseguiu fazer isso nesse meio tempo? Claro, estamos muito curiosos para saber se você teve sucesso ao usar o ShinyProxy nesta plataforma.
Acabei movendo tudo para a AWS - mas tenho outro projeto de teste que vou experimentar. Vou postar as atualizações aqui. Obrigado pela resposta!
@fmmattioni você pode usar seu Dockerfile e seguir este modelo: https://github.com/digitalocean/sample-dockerfile é bastante simples.
Sim, eu estava me perguntando qual dessas configurações seria mais apropriada:
Olá @fmmattioni
Se possível, sempre aconselho usar nossa imagem oficial do Docker . Esta imagem tem alguns aprimoramentos de segurança (ou seja, executando ShinyProxy com um usuário não root).
Hmm, bom ponto! Eu não sabia disso! Obrigado pelo aviso!
Só uma pergunta: tenho usado uma versão mais antiga do Glossproxy, porque a versão mais recente não funciona com a autenticação AWS Cognito. Posso simplesmente pegar essa versão mais antiga por meio da tag lá também - ou esses aprimoramentos de segurança existem apenas na versão mais recente?
Olá @fmmattioni
Os aprimoramentos de segurança estão incluídos em qualquer versão.
Você mencionou que a versão mais recente do ShinyProxy não funciona com o AWS Cognito. Não temos conhecimento de nenhum problema com o OIDC na versão mais recente (2.4.3). Você poderia abrir uma nova edição com mais detalhes sobre isso? (por exemplo, qual comportamento você experimenta, quaisquer erros registrados, etc.). Queremos que o ShinyProxy funcione perfeitamente com qualquer provedor de Auth, portanto, se houver um bug, realmente queremos resolvê-lo.
Só para ter certeza de que entendi, é isso que devo ter em meu Dockerfile, correto?
FROM openanalytics/shinyproxy:latest
COPY application.yml /opt/shinyproxy/application.yml
WORKDIR /opt/shinyproxy/
CMD ["java", "-jar", "/opt/shinyproxy/shinyproxy.jar"]
Quanto ao problema com o AWS Cognito, lembro que da última vez que o estava configurando, os logs mencionavam que a opção server.useForwardHeaders
ainda não estava funcionando na versão mais recente. Não me lembro se era 2.4.3 , no entanto. Deixe-me fazer um teste rápido e eu o informarei.
Obrigado pelas respostas!
Sim, é um arquivo Docker adequado para usar com ShinyProxy, embora você possa até mesmo torná-lo mais curto:
FROM openanalytics/shinyproxy:latest
COPY application.yml /etc/shinyproxy/application.yml
Se você não especificar as diretivas WORKDIR
ou CMD
, o Docker as obterá da imagem base. Nossa imagem base especifica /etc/shinyproxy
como diretório de trabalho, então você pode colocar o arquivo de configuração lá.
Com relação à propriedade server.useForwardHeaders
. Você provavelmente recebeu a seguinte mensagem de aviso:
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.
Portanto, a partir do 2.4.0, a propriedade que configura os cabeçalhos de encaminhamento mudou, mas os cabeçalhos de encaminhamento ainda funcionam. Você só precisa usar a seguinte configuração:
server:
forward-headers-strategy: native
em vez da antiga propriedade.
Percebi que a mensagem de aviso deveria apontar para https://shinyproxy.io/documentation/security/#forward -headers. Vou mudar isso para o próximo lançamento.
Esse é exatamente o aviso que eu estava recebendo!
Lamento, nem me preocupei em ler a página com mais atenção ... Vou testá-la novamente - se eu tiver algum problema, avisarei a vocês!
Obrigado!
Atualização rápida: a propriedade server.forward-headers-strategy
está realmente funcionando corretamente com o AWS Cognito! Muito obrigado por me apontar na direção certa!
Ei @LEDfan , ao definir minha nova configuração conforme sugerido com a imagem do docker openanalytics/shinyproxy
, percebi que sempre recebo o seguinte erro:
Este é meu Dockerfile:
FROM openanalytics/shinyproxy:latest
COPY application.yml /etc/shinyproxy/application.yml
No entanto, quando eu mudo meu Dockerfile para:
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"]
tudo funciona conforme o esperado.
Há algo que devo alterar em application.yml
ou modificar uma configuração específica em nginx
ao usar o primeiro Dockerfile?
Informe se devo abrir um novo problema ou fornecer mais detalhes.
Olá @fmmattioni
Esqueci de mencionar que, como nossa imagem está usando um usuário não root, ela não tem acesso ao soquete docker por padrão.
Você terá que executar a imagem docker ShinyProxy usando o seguinte comando:
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
A parte $(getent group docker | cut -d: -f3)
determina o id de grupo do docker. O parâmetro --group-add
garante que o usuário em execução no contêiner do docker ShinyProxy faça parte desse grupo (ou seja, o grupo do docker) e, como resultado, o contêiner do docker ShinyProxy tenha acesso ao soquete do docker.
Além disso, certifique-se de não ter definido o atributo proxy.docker.url
. Somente se você não fornecê-lo, o ShinyProxy acessará o soquete do docker e não alguma porta HTTP do docker.
Boa sorte!
Doce! Muito obrigado pelas informações detalhadas! Posso confirmar que isso está funcionando agora.
Obrigado!