Tienes una aplicación de shiny; la aplicación la metes en un contenedor docker; estos contenedores docker son servidos todos juntos por shinyproxy, como si leyera la salida de:
sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
openanalytics/shinyproxy-template latest 6a50d43f792c 3 hours ago 1.37GB
openanalytics/shinyproxy-demo latest a4ad82a764ab 8 months ago 1.35GB
ventajas
- Autenticación que es por lo que decidí probarlo, con administración de grupos siguiendo el protocolo LDAP Lightweight directory access protocol.
- Usa java 8 el cual es el mismo que usa geoserver.
- No necesita shiny-server, no es una gran ventaja pero por esto no requiere tantos permisos (recuerden el episodio del
chown
) - Algo importante, asegura fácilmente el tráfico hacia shiny (over TLS) y no tiene límites de uso concurrente.
La instalación es relativamente sencilla, solo se descarga el archivo jar; requiere de docker, el cual se instala según https://docs.docker.com/engine/installation/#server
Vienen unos ejemplos en el github,
Y la parte problemática (no tanto en realidad), es la configuración de docker para que escuche en el puerto 2375 con
sudo systemctl edit docker
esto nos abre la configuración de docker
cuidado con donde se especifica el puerto 2375
Yo lo puse varias veces hasta abajo del archivo y no se guardaba ese cambio… hasta que leí la parte que dice lines below this comment will be discarded
### Editing /etc/systemd/system/docker.service.d/override.conf
### Anything between here and the comment below will become the new contents of the file
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H unix:// -D -H tcp://127.0.0.1:2375
### Lines below this comment will be discarded
Guardamos y reiniciamos docker
sudo systemctl restart docker
troubleshooting
hay que limpiar (kill) los procesos que puedan estar ocupando el puerto que usa shinyproxy (8080 por default) sudo fuser -k 8080/tcp