• 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Docker de FileRun
#1
Hola

Llevo tiempo buscando algún tipo de docker que me permita crear enlaces compartidos de archivos.

Si que tenemos utilidades como Nextcloud, OwnCloud, Seafile, Pydio,... pero no permiten el acceso al sistema de archivos de QTS.
Es decir no podemos crear enlaces compartidos de archivos de nuestros carpetas de la nas.

QTS de forma nativa lo permite desde FileStation, pero no deberíamos exponer QTS a Internet de forma directa.
No ha demostrado ser fiable en ese punto y si lo hacemos, también exponemos el acceso a mas servicios como PhpMyAdmin, Photo Station,... o cualquiera que use los mismos puertos que QTS.
Con el uso de un proxy inverso podemos ayudarnos y mejorar este punto.

Pero voy a usar una aplicación en docker que si permite crear enlaces de nuestros archivos gestionados por QTS, la aplicación es FileRun.
Desgraciadamente esta aplicación no es de código abierto y es de pago.
Lo bueno es que tiene una versión gratuita con ciertas limitaciones que nos sirve, su límite de 5 usuarios.

No hay aplicación como tal para terminales móviles, pero mediante WebDav podemos acceder a sus contenido.
Puede incluso ser servidor de notas de Joplin usando WebDav.
Y es capaz de sincronizarse con las aplicaciones de NextCloud y OwnCloud.
Hay mas información de esto en su web es esta sección.

Los requisitos son tener una BBDD de datos MySQL o MariaDB. Podemos usar la de QTS vía QPKG o bien instalar MariaDB en docker.

Vamos al lío.

1-Preparación de la MariaDB

Primero hemos de crear en MariaDB un base de datos y un usuarios para FileRun.
Por usar un nombre descriptivo, la base la llamaremos "filerun_db", el usuario será "filerun" y la clave será "Filerun_clave"
Esto se puede hacer por consola de mariaDB con comando tipo "CREATE DATABASE firerun_db;" , pero es mucho mas fácil hacerlo usando PhpMyAdmin

Nos identificamos como un usuario con permisos de creación
   

Creamos la base de datos limpia
   

Ahora vamos a la sección de privilegios 
   

y creamos a un usuario con acceso a esa base de datos y no a las otras.
   
Abajo a la derecha está botón de Continuar.

Al pulsarlo se creará y veremos la pantalla de resultados.
Si nos fijamos, arriba está el comando equivalente en consola.
   

Con esto ya hemos acabado con MariaDB/MySQL.

2-Creación de carpeta compartida de QTS para hacerla persistente

Ahora necesitamos saber la ruta de QTS donde están nuestros archivos a gestionar desde FileRun.
Si no damos ninguna, se hará en nueva ruta interna del Docker, no accesible desde QTS.

En nuestro caso en vez de hacer una carpeta persistente nueva y vacia (como hemos hecho en otro dockers), vamos a indicar la ruta de una carpeta compartida de QTS. Por ejemplo la "Public".

Lo que nos importa es que estas carpetas siempre tiene una ruta que comienza por "/share/". Para el ejemplo será "/share/Public"

3-Creación del Docker por consola

Y la cadena de creación de docker que usaremos desde la consola es:
Código:
docker run -d --name=filerun --network=Dockers -e FR_DB_HOST=ip_de_nuestra_nas -e FR_DB_PORT=3307 -e FR_DB_NAME=filerun_db -e FR_DB_USER=filerun -e FR_DB_PASS=Filerun_clave --restart unless-stopped -p 4480:80 -v /share/Public:/user-files -v /share/DockerData/filerun/html:/var/www/html filerun/filerun

Se han definido:
-variables que indican parámetros de la BBDD
-puerto del docker 4480, podéis cambiarlo si hay otros servicios/dockers que lo usen.
-ruta persistente /share/Public:/user-files que enlaza nuestra carpeta "/share/Public" con la interna del docker "/user-files".
-ruta persistente /share/DockerData/filerun/html:/var/www/html , que nos dejará accesible la web desde QTS en la carpeta "/share/DockerData/filerun/html". La carpeta DockerData ya existía previamente como carpeta compartida y podemos usar otra o bien no incluir en la cadena de creación del docker "-v /share/DockerData/filerun/html:/var/www/html". Esto nos permitirá hacer cambios de diseño manuales en la web para aquellos que sepan hacerlo Wink . Recordad que estos cambios mejor hacerlos con el docker detenido.

Si todo ha ido bien y no tenemos ningún mensaje de error en la consola, ahora si en un navegador web vamos a htt://ip_de_la_nas:4480 y veremos el asistente inicial de FileRun
   

Nos hace una comprobación de requisitos
   

Nos muestra los datos de acceso a la BBDD de MariaDB.
   

Importante, nos la clave inicial del usuarios superuser. Hay que tomar nota de ella. Posteriormente podemos cambiarla
   

Y llegamos a la pantalla de login habitual
   

Ya tenemos nuestro FileRun funcionando.

Nos identificamos con la clave anterior y ya estamos dentro de FileRun.
Veremos el contenido de la carpeta /share/Public y dependiendo del tipo de archivo veremos sus miniaturas.
Por ejemplo, con los mkv y avi veremos un fotograma como vista previa, pero en cambio no puede reproducirlo.
Algo similar pasa con los archivo epub que veremos su portada, pero no su contenido.
Los mp3, wav si es capaz de reproducirlos, los txt si es capaz de verlos.


4-Creación de enlace compartido

Pero lo que realmente nos interesa es el tema de las comparticiones y aquí ya tenemos mas opciones.
Nos situamos sobre un archivo y haciendo clic secundario sobre él obtenemos el menú contextual.
   


Al hacerlo veremos el enlace de compartición. Si creamos el acceso accediendo a FileRun desde internet mediante el uso de dns, el enlace de compartición será público y funcionará desde fuera de nuestra red
   

Hay opciones de como hade abrirse el enlace. La de forzar descarga me parece muy útil.
   

También hay unas tijeras que serían para generar enlaces acortados. 
Desaconsejo su uso ya que muchos los ignoran ya que cuando se reciben no sabes a donde te lleva. Si queremos usarlo, hemos de definir en las opciones del programa, que páginas es la que usaremos para acortar los enlaces.

Tenemos diferentes opciones de compartición, incluso el envío de correos con notificaciones (hay que configurar una cuenta smtp en el programa)
   

En esta pantalla definimos la caducidad (mes/dia/año), número de descargas y una clave Smile
   

Podemos definir un texto de condiciones de descarga, interesante en caso de empresas, pero para usuarios como que no nos hace falta.
   

Permite enviar el enlace a redes sociales e incluso mostrar un QR que podemos enviar por otros medios
   


5-Otras opciones y traducción

El programa tiene muchas mas opciones, algunos están bloqueadas ya que no es la versión de pago.
Si nos registramos, podremos usar 10 cuentas de usuario. Es gratuito hacerlo, pero para poder hacerlo hay que tener FileRun en un dirección pública.
Es decir ha de estar accesible por dirección tipo miweb.midominio.eu y no por IP.
Para registrarse hay que dar una cuenta de coreo y a la vuelta de la solicitud nos envían por correo una clave.
Una de las ventajas de estar registrado con ellos, es que se accede a un foro.

Los archivos de traducción los podemos crear nosotros editándolos a mano.
El archivo debe de estar en la ruta "/share/DockerData/filerun/html/system/data/translations" y llamarse spanish.php
Aquí dejo el archivo php del de castellano en este enlace de Mega.
Una vez activo, veremos que la pantalla de login nos permite cambiar de idioma.


Consejos míos:
-he activado el 2FA para el superusuario al que previamente he cambiado de nombre y clave. Si queremos evitar la pantalla y pregunta del 2FA, podemos anexar a la clave "/número_del_2FA". Para activarlo, lo haremos desde menú y en el siguiente login muestra el QR.
-he creado otro usuario con un perfil de acceso sólo lectura, pero que pueda crear enlaces compartidos y visualizar los contenidos.
-al usuario sin privilegios no le he activado 2FA ya que ciertas aplicaciones por WebDAV no pueden acceder.
-si fallamos 5 veces seguidas en el login, la cuenta se desactiva 30 minutos. Se puede cambiar desde la opción de seguridad .Esto no pasa en el superusuario, por eso interesa activarle el 2FA.

Bueno, hasta aquí lo básico de FileRun ya que tiene mas cosas de las que parece Smile

Como siempre si veis erratas indicármelo por mensaje privado para que lo corrija.
  Responder




Usuarios navegando en este tema: 1 invitado(s)