Saya mencoba membuat aplikasi mengkilap tersedia untuk rekan kerja saya tanpa harus menjalankan atau bahkan memasang R.
Jadi saya membaca halaman web ini dan menemukan kalimat ini:
Jika Anda terbiasa dengan web hosting atau memiliki akses ke departemen TI, Anda dapat menghosting sendiri aplikasi Shiny Anda.
di bawah bagian ' Bagikan sebagai halaman web '.
Bagaimana saya bisa melakukan ini?
Masalahnya adalah bahwa perusahaan saya terikat pada batasan tertentu mengenai web hosting dan keamanan dan sebagainya, dan tidak akan (untuk saat ini) membayar untuk shiny-server-pro.
Tapi kalimat di atas memberi saya harapan untuk menyiapkan sesuatu untuk meyakinkan mereka.
r
web-hosting
shiny
shiny-server
schlusie
sumber
sumber
Jawaban:
Jika PC Anda dan PC rekan kerja Anda termasuk dalam LAN yang sama, ini cukup mudah dicapai. Jalankan saja aplikasi Anda melalui:
Nilai yang ditetapkan melalui
host
argumen mengatakan untuk menerima koneksi apa pun (tidak hanya dari localhost). Theport
Argumen dapat mengasumsikan nilai apapun yang Anda inginkan (hanya menjamin untuk menghindari untuk memilih port yang digunakan oleh layanan lain sepertissh
atauhttp
). Kemudian, catat IP lokal Anda (jika Anda menggunakan linux, Anda dapat melihatnyaifconfig
). Katakanlah IP Anda192.168.1.70
. Kolega Anda dapat menggunakan aplikasi Anda dengan memasukkan di bilah alamat browser mereka192.168.1.70:5050
, yaitu IP Anda diikuti oleh:
dan nomor port yang Anda pilih.Jika Anda menginginkan akses dari luar LAN Anda, Anda dapat mengarahkan router ke PC Anda ketika seseorang terhubung ke IP publik Anda melalui port 5050.
sumber
Berbagi aplikasi melalui LAN seperti ini cukup keren, tetapi ini semacam peretasan. Saya mencobanya dengan beberapa rekan kerja, dan berhasil, tetapi ini lebih merupakan trik kantor daripada solusi berkelanjutan.
Saya baru saja selesai mengembangkan paket RInno untuk masalah yang sebenarnya ini, yaitu ketika perusahaan tidak mau membayar Shiny Server atau ada masalah keamanan dengan layanan cloud.
Untuk memulai:
Maka Anda hanya perlu memanggil dua fungsi untuk membuat kerangka kerja instalasi:
Jika Anda ingin menyertakan R untuk rekan kerja Anda yang belum menginstalnya, tambahkan
include_R = TRUE
kecreate_app
:Secara default menyertakan shiny, magrittr dan jsonlite, jadi jika Anda menggunakan paket lain seperti ggplot2 atau plotly, tambahkan saja ke
pkgs
argumen. Anda juga dapat menyertakan paket GitHub keremotes
argumen:Jika Anda tertarik dengan fitur lain, lihat FI Labs - RInno
sumber
Anda mungkin ingin melihat solusi open source shinyproxy .
Menggunakan shinyproxy Anda harus membungkus aplikasi Anda dalam wadah buruh pelabuhan untuk menghostingnya.
Di sini Anda dapat menemukan panduan tentang cara menerapkan aplikasi mengkilap di kontainer buruh pelabuhan (yang btw. Adalah praktik yang baik, bahkan tanpa menggunakan shinyproxy, untuk mempertahankan ketergantungan aplikasi).
Ada berbagai metode otentikasi dan penskalaan yang tersedia.
sumber
Saya baru-baru ini menginstal Shiny di server Centos 7 Linux OS yang kami miliki secara lokal. Kami menggunakan panduan di bawah ini untuk sebagian besar. https://www.vultr.com/docs/how-to-install-shiny-server-on-centos-7
Jangan ragu untuk mengajukan pertanyaan apa pun tentang masalah penyiapan di sini sehingga siapa pun yang menggunakan panduan ini dapat melihat jawabannya!
Kami juga mempertimbangkan untuk mendorongnya di server AWS, memilih milik kami sendiri karena kontennya sensitif. Jika tidak, kedua solusi tersebut tampak serupa. Sistem Linux dan Shiny ringan, Anda mungkin dapat menjalankannya di server Amazon gratis!
sumber