¡Hola!
No puedo editar navbar.html cuando ShinyProxy se ejecuta como contenedor acoplable. Traté de colocar el navbar.html editado en el directorio templates/fragments y luego copiarlo en /opt/shinyproxy/templates, pero aún así los cambios no aparecen cuando reinicio el servidor.
Por ejemplo, me gustaría cambiar "Cerrar sesión" por "Salir".
archivo acoplable:
DESDE openjdk:8-jre
EJECUTAR mkdir -p /opt/shinyproxy/
EJECUTAR wget https://www.shinyproxy.io/downloads/shinyproxy-2.3.0.jar -O /opt/shinyproxy/shinyproxy.jar
COPIAR aplicación.yml /opt/shinyproxy/aplicación.yml
EJECUTAR plantillas mkdir
COPIAR plantillas/* /opt/shinyproxy/templates/
EJECUTAR mkdir plantillas/fragmentos
COPIAR templates/fragments/* /opt/shinyproxy/templates/fragments/
WORKDIR /opt/shinyproxy/
CMD ["java", "-jar", "/opt/shinyproxy/shinyproxy.jar"]
aplicación.yml:
apoderado:
título: LicitaR
página de destino: /
plantilla-ruta: ./templates
puerto: 8080
autenticación: sencilla
grupos de administración: administradores
usuarios:
Inicio sesión:
expediente:
/log/shinyproxy.log
No se si estoy haciendo algo mal. ¿Usted me podría ayudar por favor? Gracias.
Pablo
Deberías recrear tu imagen.
Por cierto, no debe copiar los archivos. En su lugar, debe crear la carpeta como un volumen. De esta manera, después de cambiar el archivo, solo necesita actualizar el navegador.
@shrektan gracias por tu respuesta.
Después de los cambios, recreé la imagen usando sudo docker-compose build
, pero nada cambió. ¿Es correcto?
Sobre la carpeta como volumen, ¿podría mostrarme un ejemplo? Soy nuevo usuario de ShinyProxy, así que estoy un poco perdido.
Gracias.
Lo siento, no tengo tiempo para hacer esto ahora, pero te hago una captura de pantalla de una configuración de producción. Debe ser fácil de entender.
@shrektan Muchas gracias por su ayuda.
1) Creé los 'volúmenes' en docker-compose.yml y cambié el Dockerfile como dijiste. Los archivos (administrador, aplicación, índice, inicio de sesión) se utilizan cuando se actualiza la página (gracias a usted). Pero, shinyproxy/application.yml no se usan, aunque puse sudo docker-compose build
y el comando sudo docker-compose up -d shinyproxy
dice "dnv_shinyproxy está actualizado". Así que dejé un CP en Dockerfile con respecto a application.yml. :(
docker-compose.yml
versión: "3.6"
servicios:
proxy brillante:
imagen: datanovia/shinyproxy
nombre_contenedor: dnv_shinyproxy
reiniciar: en caso de falla
construir: ./proxy brillante
redes:
- red dnv
puertos:
- 8080:8080
volúmenes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "./shinyproxy-logs/servidor:/registro"
- "./shinyproxy-logs/container:/container-logs"
- "./shinyproxy/aplicación.yml:/opt/shinyproxy/aplicación.yml"
- "./shinyproxy/plantillas/:/opt/shinyproxy/plantillas"
- "./shinyproxy/templates/fragments/navbar.html:/opt/shinyproxy/templates/fragments/navbar.html"
Euler:
imagen: euler-docker
nombre_contenedor: dnv_euler
construir: ./shinyapps/euler-docker
redes:
- red dnv
redes:
dnv-net:
nombre: dnv-net
Dockerfile
DESDE openjdk:8-jre
EJECUTAR mkdir -p /opt/shinyproxy/
EJECUTAR wget https://www.shinyproxy.io/downloads/shinyproxy-2.3.0.jar -O /opt/shinyproxy/shinyproxy.jar
COPIAR aplicación.yml /opt/shinyproxy/aplicación.yml
WORKDIR /opt/shinyproxy/
CMD ["java", "-jar", "/opt/shinyproxy/shinyproxy.jar"]
aplicación.yml
apoderado:
título: LicitaR
página de destino: /
barra de navegación oculta: falso
plantilla-ruta: ./templates/
puerto: 8080
autenticación: sencilla
grupos de administración: administradores
usuarios:
Inicio sesión:
expediente:
/log/shinyproxy.log
2) Todavía no puedo cambiar el archivo navbar.html. Cuando puse template-path: ./templates/fragments
Era posible, pero de esta forma no se usaban los demás archivos que cambié (admin, app, index, login).
3) árbol
@PauloJhonny
Puede colocar los fragmentos dentro de las plantillas, pero primero debe reclamarlos en index.html
o en algún otro lugar (lo siento, no recuerdo el lugar exacto).
Si no sabe (o no está muy seguro) lo que está haciendo, probablemente necesite colocar la carpeta fragments
debajo shinyproxy/
. La razón es que debe mantener la misma estructura de carpetas que shinyproxy, a menos que sepa cómo funciona. Puede encontrar la estructura de carpetas predeterminada de shinyproxy aquí: https://github.com/openanalytics/shinyproxy/tree/master/src/main/resources
Bueno, en realidad construí un ejemplo de docker-compose para ti. Consulte https://github.com/shrektan/shinyproxy-docker-compose-example. Espero que esto aclare tu confusión.
(Nuevamente, de esta manera, estos archivos HTML de plantilla se cargan en caliente. Por lo tanto, no es necesario que apague y reinicie el contenedor acoplable una y otra vez. Simplemente edite, guarde y actualice el navegador. Este es un flujo de trabajo de ajuste de la interfaz de usuario mucho más simple. .)
@shrektan muchas gracias. Realmente me ayudó.
Funcionó. Estaba colocando la carpeta de fragmentos en el lugar equivocado (ver el árbol correcto). Todos los archivos están cargados en caliente ahora, excepto application.yml. Graciaaas.
Bueno oír eso.
Por cierto, cerrar el problema será bueno si no tienes más preguntas.
Gracias.
Gracias. :)
Comentario más útil
Deberías recrear tu imagen.
Por cierto, no debe copiar los archivos. En su lugar, debe crear la carpeta como un volumen. De esta manera, después de cambiar el archivo, solo necesita actualizar el navegador.