Shinyproxy: Развертывание платформы приложений Digitalocean

Созданный на 15 янв. 2021  ·  15Комментарии  ·  Источник: openanalytics/shinyproxy

Всем привет!

Есть ли у кого-нибудь предложения / советы по платформе приложений Digitalocean? (https://www.digitalocean.com/products/app-platform/).

Насколько я понимаю, это выполняется с Kubernetes в фоновом режиме. Поэтому мне было интересно, могу ли я использовать там shinyproxy , и если да, то какая конфигурация будет наиболее подходящей.

Заранее спасибо!
Фелипе

question

Все 15 Комментарий

Привет

Я не думаю, что у нас есть опыт работы с этой платформой. Но я думаю, что если Kubernetes API доступен для приложений, которые его запускают, на нем должна быть возможность использовать ShinyProxy.

Удалось ли вам тем временем попробовать это? Конечно, нам очень любопытно, удалось ли вам использовать ShinyProxy на этой платформе.

В итоге я переместил все на AWS, но у меня есть еще один тестовый проект, который я собираюсь опробовать. Я буду размещать обновления здесь. Спасибо за ваш ответ!

@fmmattioni, вы можете использовать свой Dockerfile и следовать этому шаблону: https://github.com/digitalocean/sample-dockerfile, это довольно просто.

Да, мне больше было интересно, какая из этих конфигов будет более подходящей:

Привет @fmmattioni

Если возможно, я всегда советую использовать наш официальный образ Docker . Этот образ имеет некоторые улучшения безопасности (например, запуск ShinyProxy под пользователем без полномочий root).

Хм, хороший момент! Я этого не знал! Спасибо за внимание!

Просто вопрос: я использовал старую версию shinyproxy, потому что последняя версия не работает с аутентификацией AWS Cognito. Могу ли я просто получить эту старую версию через тег - или эти улучшения безопасности существуют только в последней версии?

Привет @fmmattioni

Улучшения безопасности включены в любую версию.

Вы упомянули, что последняя версия ShinyProxy не работает с AWS Cognito. Нам не известно о каких-либо проблемах с OIDC в ​​последней версии (2.4.3). Не могли бы вы открыть новый выпуск с более подробной информацией об этом? (например, какое поведение вы испытываете, какие зарегистрированные ошибки и т. д.). Мы действительно хотим, чтобы ShinyProxy без проблем работал с любым провайдером аутентификации, поэтому, если есть ошибка, мы действительно хотим ее решить.

Просто чтобы убедиться, что я понял, это то, что у меня должно быть в моем 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 . Позвольте мне провести небольшой тест, и я дам вам знать.

Спасибо за ответы!

Да, это подходящий файл Docker для использования с ShinyProxy, хотя вы можете даже сделать его короче:

FROM openanalytics/shinyproxy:latest

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

Если вы не укажете директивы WORKDIR или CMD , 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 , я заметил, что всегда получаю следующую ошибку:

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"]

все работает как положено.

Что я должен изменить в application.yml или изменить конкретную настройку в nginx при использовании первого Dockerfile?

Дайте мне знать, если я должен открыть новый выпуск или предоставить более подробную информацию.

Привет @fmmattioni

Я забыл упомянуть, что, поскольку наш образ использует пользователя без полномочий root, по умолчанию у него нет доступа к сокету докера.
Вам нужно будет запустить образ докера ShinyProxy, используя следующую команду:

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) определяет идентификатор группы докера. Параметр --group-add гарантирует, что пользователь, работающий внутри контейнера докеров ShinyProxy, является частью этой группы (т. Е. Группы докеров), и в результате контейнер докеров ShinyProxy имеет доступ к сокету докеров.

Также убедитесь, что вы не установили атрибут proxy.docker.url . Только если вы его не предоставите, ShinyProxy будет обращаться к сокету докера, а не к какому-либо HTTP-порту докера.

Удачи!

Милая! Большое спасибо за подробную информацию! Я могу подтвердить, что сейчас это работает.

Спасибо!

Была ли эта страница полезной?
0 / 5 - 0 рейтинги