Shinyproxy: Saya tidak dapat mengedit file navbar.html saat glossyproxy ada di dalam wadah

Dibuat pada 19 Mar 2020  ·  8Komentar  ·  Sumber: openanalytics/shinyproxy

Halo!

Saya tidak dapat mengedit navbar.html saat ShinyProxy berjalan sebagai wadah buruh pelabuhan. Saya mencoba meletakkan navbar.html yang telah diedit di direktori templates/fragments dan kemudian menyalin ke /opt/shinyproxy/templates, tetapi perubahan tetap tidak muncul ketika saya me-restart server.

Misalnya, saya ingin mengubah "Keluar" menjadi "Sair".

image


File Docker:

DARI openjdk:8-jre

JALANKAN mkdir -p /opt/shinyproxy/
JALANKAN wget https://www.shinyproxy.io/downloads/shinyproxy-2.3.0.jar -O /opt/shinyproxy/shinyproxy.jar
SALIN application.yml /opt/shinyproxy/application.yml
JALANKAN template mkdir
SALIN template/* /opt/shinyproxy/template/
JALANKAN template/fragmen mkdir
SALIN template/fragmen/* /opt/shinyproxy/template/fragmen/

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


aplikasi.yml:

proxy:
judul: LicitaR
halaman arahan: /
template-path: ./templates
pelabuhan: 8080
otentikasi: sederhana
admin-grup: admin
pengguna:

  • nama: jack
    kata sandi: kata sandi
    grup: admin
  • nama: jeff
    kata sandi: kata sandi
    buruh pelabuhan:
    jaringan internal: benar
    wadah-jaringan: dnv-net
    spesifikasi:
  • id: 01_halo
    nama tampilan: Halo Aplikasi
    deskripsi: Aplikasi yang menunjukkan dasar-dasar aplikasi Shiny
    container-cmd: ["R", "-e", "shinyproxy::run_01_hello()"]
    container-image: openanalytics/shinyproxy-demo
    container-network: "${proxy.docker.container-network}"
  • id: euler
    nama tampilan: nomor Euler
    container-cmd: ["R", "-e", "shiny::runApp('/root/euler')"]
    container-image: euler-docker
    container-network: "${proxy.docker.container-network}"

masuk:
mengajukan:
/log/shinyproxy.log


Saya tidak tahu apakah saya melakukan sesuatu yang salah. Bisakah kamu membantuku? Terima kasih.

paulo

Komentar yang paling membantu

Anda harus membuat ulang gambar Anda.

BTW, Anda tidak boleh menyalin file. Sebagai gantinya, Anda harus menjadikan folder sebagai volume. Dengan cara ini, setelah mengubah file, Anda hanya perlu me-refresh browser.

Semua 8 komentar

Anda harus membuat ulang gambar Anda.

BTW, Anda tidak boleh menyalin file. Sebagai gantinya, Anda harus menjadikan folder sebagai volume. Dengan cara ini, setelah mengubah file, Anda hanya perlu me-refresh browser.

@shrektan terima kasih atas balasan Anda.

  1. Setelah perubahan, saya membuat ulang gambar menggunakan sudo docker-compose build , tetapi tidak ada yang berubah. Apakah tepat?

  2. Tentang folder sebagai volume, dapatkah Anda menunjukkan kepada saya sebuah contoh? Saya pengguna baru ShinyProxy, jadi saya sedikit bingung.

Terima kasih.

Maaf, saya tidak punya waktu untuk melakukan ini sekarang, tapi saya screenshot setup produksi untuk Anda. Itu harus mudah dimengerti.

File buruh pelabuhan

image

Docker membuat YAML

image

Struktur folder

image

@shrektan Terima kasih banyak atas bantuan Anda.

1) Saya membuat 'volume' di docker-compose.yml dan mengubah Dockerfile seperti yang Anda katakan. File (admin, aplikasi, indeks, login) digunakan saat halaman di-refresh (terima kasih kepada Anda). Tapi, glossyproxy/application.yml tidak digunakan, meskipun saya memasukkan sudo docker-compose build dan perintah sudo docker-compose up -d shinyproxy mengatakan "dnv_shinyproxy is up-to-date". Jadi saya meninggalkan satu CP di Dockerfile mengenai application.yml. :(


docker-compose.yml

versi: "3.6"
jasa:
proxy mengkilap:
gambar: datanovia/shinyproxy
container_name: dnv_shinyproxy
restart: saat gagal
membangun: ./shinyproxy
jaringan:
- dnv-net
port:
- 8080:8080
volume:
- "/var/run/docker.sock:/var/run/docker.sock"
- "./shinyproxy-logs/server:/log"
- "./shinyproxy-logs/container:/container-logs"
- "./shinyproxy/application.yml:/opt/shinyproxy/application.yml"
- "./shinyproxy/templates/:/opt/shinyproxy/templates"
- "./shinyproxy/templates/fragments/navbar.html:/opt/shinyproxy/templates/fragments/navbar.html"
euler:
gambar: euler-docker
container_name: dnv_euler
build: ./shinyapps/euler-docker
jaringan:
- dnv-net

jaringan:
dnv-net:
nama: dnv-net


file docker

DARI openjdk:8-jre

JALANKAN mkdir -p /opt/shinyproxy/
JALANKAN wget https://www.shinyproxy.io/downloads/shinyproxy-2.3.0.jar -O /opt/shinyproxy/shinyproxy.jar
SALIN application.yml /opt/shinyproxy/application.yml

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


application.yml

proxy:
judul: LicitaR
halaman arahan: /
sembunyikan-navbar: salah
template-path: ./templates/
pelabuhan: 8080
otentikasi: sederhana
admin-grup: admin
pengguna:

  • nama: jack
    kata sandi: lulus
    grup: admin
  • nama: jeff
    kata sandi: lulus
    buruh pelabuhan:
    jaringan internal: benar
    wadah-jaringan: dnv-net
    direktori kerja: /home/paulo/shinyproxy-config/
    spesifikasi:
  • id: 01_halo
    nama tampilan: Halo APLIKASI Sederhana <3
    deskripsi: Aplikasi Aplikasi mengkilap
    container-cmd: ["R", "-e", "shinyproxy::run_01_hello()"]
    container-image: openanalytics/shinyproxy-demo
    container-network: "${proxy.docker.container-network}"
  • id: euler
    nama tampilan: nomor Euler
    container-cmd: ["R", "-e", "shiny::runApp('/root/euler')"]
    container-image: euler-docker
    container-network: "${proxy.docker.container-network}"

masuk:
mengajukan:
/log/shinyproxy.log


2) Saya masih tidak dapat mengubah file navbar.html. Ketika saya memasukkan template-path: ./templates/fragments Itu mungkin, tetapi dengan cara ini file lain yang saya ubah tidak digunakan (admin, aplikasi, indeks, login).


3) pohon

image

@PauloJhonny

Anda dapat meletakkan fragmen di dalam templat tetapi Anda harus mengklaimnya di index.html atau di suatu tempat terlebih dahulu (maaf, saya tidak ingat tempat persisnya).

Jika Anda tidak tahu (atau tidak terlalu yakin) apa yang Anda lakukan, Anda mungkin perlu menempatkan folder fragments di bawah shinyproxy/ . Alasannya adalah Anda perlu menjaga struktur folder yang sama dengan glossyproxy kecuali Anda tahu cara kerjanya. Anda dapat menemukan struktur folder default dari glossyproxy di sini: https://github.com/openanalytics/shinyproxy/tree/master/src/main/resources

Yah, saya benar-benar membuat contoh komposisi buruh pelabuhan untuk Anda. Lihat https://github.com/shrektan/shinyproxy-docker-compose-example. Semoga ini menjelaskan kebingungan Anda.

(Sekali lagi, dengan cara ini, file HTML template ini dimuat dengan cepat. Jadi Anda tidak perlu mematikan dan memulai ulang wadah buruh pelabuhan lagi dan lagi. Cukup edit, simpan, dan segarkan browser. Ini adalah alur kerja tweaker UI yang jauh lebih sederhana .)

Tangkapan layar dari contoh

image

@shrektan terima kasih banyak. Itu sangat membantu saya.

Itu berhasil. Saya meletakkan folder fragmen di tempat yang salah (lihat pohon yang benar). Semua file dimuat panas sekarang, kecuali application.yml. Terima kasih.

image

Senang untuk mendengarnya.

BTW, menutup masalah akan baik jika Anda tidak memiliki pertanyaan lebih lanjut.

Terima kasih.

Terima kasih. :)

Apakah halaman ini membantu?
0 / 5 - 0 peringkat