مرحبًا ، عند استخدام ShinyProxy بدلاً من نشر التطبيقات مباشرةً من خلال Docker ، يتم فقد استجابة التطبيقات في الأجهزة المحمولة.
لقد رأيت أن هناك علاقات عامة تحاول حل هذه المشكلة. أي وقت محدد للوصول إلى متى يمكن تنفيذ ذلك؟
مرحبًا @ algo-se ،
يقوم PR المرتبط بإجراء تغييرات على المظهر الافتراضي فقط. يمكنك تحقيق نفس النتيجة بموضوع مخصص. مزيد من المعلومات والأمثلة هنا
هناك أيضًا حل بديل حيث يمكنك استخدام نقاط النهاية /app_direct/<app_name>
والتي ستخدم محتوى التطبيق مباشرةً بدون إطار iframe الذي يمكن أن يتسبب في حدوث مشكلات على الهاتف المحمول.
أوه أرى ، شكرا لك على التوضيح dseynaev! فهل يجب عليك استخدام سمة مخصصة لتمكين نقاط النهاية app_direct
في الصفحة المقصودة؟ هل هناك أي طريقة أخرى ، يمكنك القيام بذلك من خلال application.yml؟
لجعل الصفحة المقصودة تستخدم روابط app_direct
، فستحتاج إلى سمة مخصصة بالفعل. لا توجد طريقة للقيام بذلك من خلال application.yaml
(ما لم يكن لديك تطبيق واحد فقط ، في هذه الحالة يمكنك استخدام الإعداد landing-page
لتخطي الصفحة المقصودة)
لقد اتبعت هذه الخطوات ولكن لا يمكنني رؤية أي تغييرات.
لإعداد Shiny Proxy ، استخدمت هذا البرنامج التعليمي ، لذلك أنا أستخدم Docker Swarm.
هيكل مجلدي هو:
// home / myuser / shinyproxy-docker-swarm-demo /
├── التطبيق
│ ├── application.yml
│ └── القوالب
├── shinyproxy.yml
└── usagestats.yml
المجلد templates
هو المجلد الموجود في أمثلة shinyproxy-config.
في application.yml
أضفت: template-path: ./templates/1col
من أجل جعل التغييرات فعالة ، قمت بإعادة تشغيل Shiny Proxy: docker service update shinyproxy_shinyproxy --force
لكن كل شيء بقي على حاله. أيه أفكار؟
بالنظر إلى البرنامج التعليمي الذي ربطته ، سيكون تخميني أنك بحاجة إلى تحميل مجلد القوالب في حاوية shinyproxy (تحت volumes
في تكوين docker-compose shinyproxy.yml
)
تخمين رائع! 😉 لقد نجح ذلك على أكمل وجه ، شكرًا لك.
في حال كان مفيدًا للآخرين ، فإليك ما فعلته:
أضف ./application/templates:/opt/shinyproxy/templates
إلى volumes
في shinyproxy.yml
أضف جميع القوالب إلى مجلد 1col.
قم بتحرير علامة head
لجميع القوالب:
3.1 أضف <meta name="viewport" content="width=device-width, initial-scale=1">
حتى تعمل ورقة الزعتر جيدًا في الأجهزة المحمولة.
3.2 أضف مكالمات bootstrap يدويًا
3.3 أضف العنوان يدويًا
3.4. قم بتغيير المرجع إلى ملفات css وفقًا لهيكل المجلد الجديد .
3.5 إضافة مرجع الأيقونة المفضلة ( راجع هذا أيضًا للتعرف على الرموز المفضلة عند تشغيل أحد التطبيقات).
قم بتحرير قوالب html حسب رغبتك ، على سبيل المثال ، هذه خدعة جيدة لخدمة بعض التطبيقات في الوضع المباشر والبعض الآخر في وضع iframe ، إذا كان هذا شيئًا ترغب في القيام به.
template-path: ./templates/1col
إلى application.yml
(مباشرة أقل proxy:
)cd shinyproxy-docker-swarm-demo/
، export APP_DOMAIN=app.example.com
و docker stack deploy -c shinyproxy.yml shinyproxy
التعليق الأكثر فائدة
تخمين رائع! 😉 لقد نجح ذلك على أكمل وجه ، شكرًا لك.
في حال كان مفيدًا للآخرين ، فإليك ما فعلته:
أضف
./application/templates:/opt/shinyproxy/templates
إلىvolumes
فيshinyproxy.yml
أضف جميع القوالب إلى مجلد 1col.
قم بتحرير علامة
head
لجميع القوالب:3.1 أضف
<meta name="viewport" content="width=device-width, initial-scale=1">
حتى تعمل ورقة الزعتر جيدًا في الأجهزة المحمولة.3.2 أضف مكالمات bootstrap يدويًا
3.3 أضف العنوان يدويًا
3.4. قم بتغيير المرجع إلى ملفات css وفقًا لهيكل المجلد الجديد .
3.5 إضافة مرجع الأيقونة المفضلة ( راجع هذا أيضًا للتعرف على الرموز المفضلة عند تشغيل أحد التطبيقات).
قم بتحرير قوالب html حسب رغبتك ، على سبيل المثال ، هذه خدعة جيدة لخدمة بعض التطبيقات في الوضع المباشر والبعض الآخر في وضع iframe ، إذا كان هذا شيئًا ترغب في القيام به.
template-path: ./templates/1col
إلىapplication.yml
(مباشرة أقلproxy:
)cd shinyproxy-docker-swarm-demo/
،export APP_DOMAIN=app.example.com
وdocker stack deploy -c shinyproxy.yml shinyproxy