Shinyproxy: モバイルビュー

作成日 2021年07月09日  ·  6コメント  ·  ソース: openanalytics/shinyproxy

こんにちは。Dockerを介してアプリを直接デプロイする代わりにShinyProxyを使用すると、モバイルデバイスでのアプリの応答性が失われます。

これを解決しようとするPRがあるのを見てきました。 これをいつ実装できるかについてのETAはありますか?

最も参考になるコメント

素晴らしい推測です! 😉それは完璧に機能しました、ありがとう。

他の人に役立つ場合に備えて、これが私が行ったことです。

  1. $ shinyproxy.ymlvolumes./application/templates:/opt/shinyproxy/templatesを追加します
    image

  2. すべてのテンプレートを1colフォルダーに追加します。
    image

  3. すべてのテンプレートのheadタグを編集します。
    3.1。 <meta name="viewport" content="width=device-width, initial-scale=1">を追加して、thymeleafがモバイルデバイスで適切に機能するようにします。
    3.2。 ブートストラップ呼び出しを手動で追加する
    3.3。 タイトルを手動で追加
    3.4。 新しいフォルダ構造に従って、cssファイルへの参照を変更します。
    3.5ファビコン参照を追加します(アプリを起動するときのファビコンについてもこれを参照してください)。
    image

  4. 好みに合わせてhtmlテンプレートを編集します。たとえば、これは、一部のアプリをダイレクトモードで提供し、一部のアプリをiframeモードで提供するための優れたトリックです。

  5. cssファイルを(1col / Assets / cssに)追加します1、2、3
  6. アプリとファビコンの画像を追加します(1col / Assets / imgに)
  7. template-path: ./templates/1colapplication.ymlに追加します( proxy:のすぐ下)
  8. シャイニープロキシスタックを再デプロイします: cd shinyproxy-docker-swarm-demo/export APP_DOMAIN=app.example.comおよびdocker stack deploy -c shinyproxy.yml shinyproxy
  9. 楽しみ! 🚀

全てのコメント6件

こんにちは@algo-se、

リンクされたPRは、デフォルトのテーマにのみ変更を加えます。 カスタムテーマでも同じ結果を得ることができます。 詳細と例はこちら

/app_direct/<app_name>エンドポイントを使用して、モバイルで問題を引き起こす可能性のあるiframeなしでアプリコンテンツを直接提供できる回避策もあります。

なるほど、@ dseynaevの説明に感謝します! では、ランディングページでapp_directエンドポイントを有効にするには、カスタムテーマを使用する必要がありますか? 他に方法はありますか?application.ymlから実行できますか?

ランディングページにapp_directリンクを使用させるには、実際にカスタムテーマが必要になります。 application.yamlからそれを行う方法はありません(アプリが1つしかない場合は、 landing-page設定を使用してランディングページをスキップできます)

これらの手順を実行しましたが、変更が表示されません。

シャイニープロキシを設定するためにこのチュートリアルを使用したので、DockerSwarmを使用しています。

私のフォルダ構造は次のとおりです。
// home / myuser / shinyproxy-docker-swarm-demo /
├──アプリケーション
│├──application.yml
│└──テンプレート
├──shinyproxy.yml
└──usagestats.yml

templatesフォルダーは、shinyproxy-config-examplesのフォルダーです。

application.ymlに追加しました: template-path: ./templates/1col

変更を有効にするために、Shiny Proxy: docker service update shinyproxy_shinyproxy --forceを再起動しましたが、すべて同じままでした。 何か案は?

リンクしたチュートリアルを見ると、templatesフォルダーをshinyproxyコンテナーにマウントする必要があると思います(docker-compose構成shinyproxy.ymlvolumesの下)

素晴らしい推測です! 😉それは完璧に機能しました、ありがとう。

他の人に役立つ場合に備えて、これが私が行ったことです。

  1. $ shinyproxy.ymlvolumes./application/templates:/opt/shinyproxy/templatesを追加します
    image

  2. すべてのテンプレートを1colフォルダーに追加します。
    image

  3. すべてのテンプレートのheadタグを編集します。
    3.1。 <meta name="viewport" content="width=device-width, initial-scale=1">を追加して、thymeleafがモバイルデバイスで適切に機能するようにします。
    3.2。 ブートストラップ呼び出しを手動で追加する
    3.3。 タイトルを手動で追加
    3.4。 新しいフォルダ構造に従って、cssファイルへの参照を変更します。
    3.5ファビコン参照を追加します(アプリを起動するときのファビコンについてもこれを参照してください)。
    image

  4. 好みに合わせてhtmlテンプレートを編集します。たとえば、これは、一部のアプリをダイレクトモードで提供し、一部のアプリをiframeモードで提供するための優れたトリックです。

  5. cssファイルを(1col / Assets / cssに)追加します1、2、3
  6. アプリとファビコンの画像を追加します(1col / Assets / imgに)
  7. template-path: ./templates/1colapplication.ymlに追加します( proxy:のすぐ下)
  8. シャイニープロキシスタックを再デプロイします: cd shinyproxy-docker-swarm-demo/export APP_DOMAIN=app.example.comおよびdocker stack deploy -c shinyproxy.yml shinyproxy
  9. 楽しみ! 🚀
このページは役に立ちましたか?
0 / 5 - 0 評価