Shinyproxy: Penyebaran platform aplikasi Digitalocean

Dibuat pada 15 Jan 2021  ·  15Komentar  ·  Sumber: openanalytics/shinyproxy

Halo semua!

Adakah yang punya saran/tips tentang platform aplikasi Digitalocean? (https://www.digitalocean.com/products/app-platform/).

Sejauh yang saya mengerti, ini dijalankan dengan Kubernetes di latar belakang. Oleh karena itu, saya bertanya-tanya apakah saya dapat menggunakan shinyproxy sana, dan jika demikian, konfigurasi apa yang paling memadai.

Terima kasih sebelumnya!
Felipe

question

Semua 15 komentar

Hai

Saya tidak berpikir kami memiliki pengalaman dengan platform ini. Tapi, saya pikir jika Kubernetes API tersedia untuk aplikasi yang menjalankannya, seharusnya bisa menggunakan ShinyProxy di dalamnya.

Apakah Anda dapat mencoba ini sementara waktu? Tentu saja, kami sangat penasaran apakah Anda berhasil menggunakan ShinyProxy di platform ini.

Saya akhirnya memindahkan semuanya ke AWS - tetapi saya memiliki proyek pengujian lain yang akan saya coba. Saya akan memposting pembaruan di sini. Terima kasih atas balasannya!

@fmmattioni Anda dapat menggunakan Dockerfile Anda dan ikuti templat ini: https://github.com/digitalocean/sample-dockerfile cukup mudah.

Hai @fmmattioni

Jika memungkinkan saya akan selalu menyarankan untuk menggunakan gambar Docker resmi kami . Gambar ini memiliki beberapa peningkatan keamanan (yaitu menjalankan ShinyProxy di bawah pengguna non-root).

Hmm, poin yang bagus! Aku tidak tahu itu! Terimakasih atas peringatannya!

Hanya sebuah pertanyaan: Saya telah menggunakan versi lama dari glossyproxy, karena rilis terbaru tidak bekerja dengan otentikasi AWS Cognito. Bisakah saya mengambil versi lama ini melalui tag di sana juga - atau apakah peningkatan keamanan ini hanya ada di versi terbaru?

Hai @fmmattioni

Peningkatan keamanan disertakan dalam versi apa pun.

Anda menyebutkan bahwa versi terbaru ShinyProxy tidak berfungsi dengan AWS Cognito. Kami tidak mengetahui adanya masalah dengan OIDC di versi terbaru (2.4.3). Bisakah Anda membuka edisi baru dengan detail lebih lanjut tentang ini? (misalnya perilaku apa yang Anda alami, kesalahan apa pun yang dicatat, dll.). Kami benar-benar ingin ShinyProxy bekerja dengan lancar dengan penyedia Auth mana pun, jadi jika ada bug, kami benar-benar ingin menyelesaikannya.

Hanya untuk memastikan saya mendapatkannya, ini yang harus saya miliki di Dockerfile saya, benar?

FROM openanalytics/shinyproxy:latest

COPY application.yml /opt/shinyproxy/application.yml

WORKDIR /opt/shinyproxy/
CMD ["java", "-jar", "/opt/shinyproxy/shinyproxy.jar"]

Mengenai masalah dengan AWS Cognito, saya ingat bahwa terakhir kali saya menyiapkannya, log menyebutkan bahwa opsi server.useForwardHeaders masih tidak berfungsi di versi terbaru. Saya tidak ingat apakah ini 2.4.3 . Biarkan saya menjalankan tes cepat, dan saya akan memberi tahu Anda.

Terima kasih atas balasannya!

Ya itu file Docker yang tepat untuk digunakan dengan ShinyProxy, meskipun Anda bahkan dapat membuatnya lebih pendek:

FROM openanalytics/shinyproxy:latest

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

Jika Anda tidak menentukan direktif WORKDIR atau CMD , Docker akan mengambilnya dari gambar dasar. Gambar dasar kami menetapkan /etc/shinyproxy sebagai direktori kerja, sehingga Anda dapat menempatkan file konfigurasi di sana.

Mengenai properti server.useForwardHeaders . Anda mungkin mendapatkan pesan peringatan berikut:

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.

Jadi mulai dari 2.4.0, properti yang mengonfigurasi header penerusan telah berubah, tetapi header penerusan masih berfungsi. Anda hanya perlu menggunakan konfigurasi berikut:

server:
  forward-headers-strategy: native

bukannya properti lama.
Saya perhatikan pesan peringatan seharusnya benar-benar mengarah ke https://shinyproxy.io/documentation/security/#forward -headers . Saya akan mengubahnya untuk rilis berikutnya.

Itulah peringatan yang saya dapatkan!

Maaf, saya bahkan tidak repot-repot membaca halaman lebih hati-hati... Saya akan mengujinya lagi - jika saya memiliki masalah, saya akan memberi tahu kalian!

Terima kasih!

Pembaruan cepat: properti server.forward-headers-strategy memang bekerja dengan baik dengan AWS Cognito! Terima kasih banyak telah mengarahkan saya ke arah yang benar!

Hai @LEDfan , saat mengatur konfigurasi baru saya seperti yang disarankan dengan gambar buruh pelabuhan openanalytics/shinyproxy , saya perhatikan bahwa saya selalu mendapatkan kesalahan berikut:

image

Ini adalah file Docker saya:

FROM openanalytics/shinyproxy:latest

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

Namun, ketika saya mengubah Dockerfile saya menjadi:

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

semuanya berjalan seperti yang diharapkan.

Apakah ada yang harus saya ubah di application.yml atau mengubah pengaturan tertentu di nginx saat menggunakan Dockerfile pertama?

Beri tahu saya jika saya harus membuka edisi baru atau memberikan detail lebih lanjut.

Hai @fmmattioni

Saya lupa menyebutkan bahwa, karena gambar kami menggunakan pengguna non-root, ia tidak memiliki akses ke soket buruh pelabuhan secara default.
Anda harus menjalankan gambar buruh pelabuhan ShinyProxy menggunakan perintah berikut:

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

Bagian $(getent group docker | cut -d: -f3) menentukan group-id dari docker. Parameter --group-add memastikan bahwa pengguna yang berjalan di dalam wadah buruh pelabuhan ShinyProxy adalah bagian dari grup itu (yaitu kelompok buruh pelabuhan) dan sebagai hasilnya wadah buruh pelabuhan ShinyProxy memiliki akses ke soket buruh pelabuhan.

Pastikan juga Anda tidak menyetel atribut proxy.docker.url . Hanya jika Anda tidak menyediakannya, ShinyProxy akan mengakses soket buruh pelabuhan dan bukan port HTTP buruh pelabuhan.

Semoga beruntung!

Manis! Terima kasih banyak atas info detailnya! Saya dapat mengonfirmasi bahwa ini berfungsi sekarang.

Terima kasih!

Apakah halaman ini membantu?
0 / 5 - 0 peringkat