Antes de empezar un aviso. Este tutorial sólo sirve para los que tengais el programa de gestión de libros y comics Calibre instalado en el ordenador y con una biblioteca de libros y comics en el ordenador ( o en el nas ) y una copia de seguridad de la biblioteca calibre en el nas.
Lo primero que voy a decir son las diferencias existentes con Ubooquity. El funcionamiento es el mismo con la diferencia de que podemos ver libros y comics por categorias, series, número de páginas ( si así lo tenemos configurado en nuestro programa Calibre en el ordenador) e incluso podemos saber la cantidad de libros que se descargan los usuarios autorizados. Otra ventaja es que en dispositivos móviles las portadas se ven más grandes. Pero la diferencia más importante es la seguridad. La seguridad de Calibre-web ( así se llama el programa ) radica en su instalación y en sus componentes.
Instalación: Se realiza mediante docker. Docker es un entorno virtualizado en el que lo que tenemos puesto está completamente aislado de todos los demás componenetes del nas.
Los namespaces proporcionan la primera y más sencilla forma de aislamiento: los procesos que se ejecutan dentro de un contenedor no pueden ver, y menos aún afectar, a los procesos que se ejecutan en otro contenedor o en el sistema host.
Cada contenedor también tiene su propia pila de red, lo que significa que un contenedor no tiene acceso privilegiado a los enchufes o interfaces de otro contenedor. Por supuesto, si el sistema host está configurado en consecuencia, los contenedores pueden interactuar entre sí a través de sus respectivas interfaces de red, del mismo modo que pueden interactuar con hosts externos. Cuando especifique puertos públicos para sus contenedores o utilice enlaces, se permitirá el tráfico IP entre contenedores. Pueden hacer ping entre ellos, enviar/recibir paquetes UDP y establecer conexiones TCP, pero esto puede ser restringido si es necesario. Desde el punto de vista de la arquitectura de red, todos los contenedores de un determinado host Docker se encuentran en interfaces de puente. Esto significa que son como máquinas físicas conectadas a través de un conmutador Ethernet común; ni más ni menos.
Os pongo un enlace con información en inglés:
https://docs.docker.com/engine/security/security/
Componentes: Ubooquity tiene un servidor integrado llamado jetty:
https://www.eclipse.org/jetty/
Sin embargo Calibre-web utiliza Ubuntu Bionic y está mucho más actualizado que el jetty de ubooquity que por alguna extraña razón utiliza una versión de hace 3 años. Aparte de eso los que desarrollan el docker de Calibre-web lo actualizan cada dos por tres ( la última hace unas semanas) Información:
https://docs.linuxserver.io/images/docker-calibre-web
Otra cosa reseñable es que ubooquity funciona con java con los inconvenientes de seguridad que acarrea.
A tener en cuenta: La instalación es tan sencilla o más que ubooquity. Aunque el funcionamiento sea virtualizado funciona estupendamente y no consume apenas recursos del nas ( los mismos que ubooquity)
Tutorial de instalación:
1 - Creamos donde nos apetezca una carpeta vacía en nuestro nas y le ponemos de nombre Container. Creamos donde nos apetezca en nuestro nas una segunda carpeta vacía y le ponemos de nombre config.
A tener en cuenta:
- La carpeta Container sirve para almacenar el contenedor que vamos a crear ( o futuros contenedores que creemos ). Si NO la creamos no pasa nada porque cuando instalamos Container Station éste la crea automáticamente sin que nosotros tengamos que hacer nada. La diferencia estriba en que si la creamos nosotros primero lo hacemos donde nos apetezca. Si no la creamos y la crea Container Station automáticamente la crea dónde el quiera ( no pasa absolútamente nada si lo hace así ).
- La carpeta config SI ES OBLIGATORIO Y NECESARIO que la creemos antes de empezar la instalación.
2 - Abrimos en nuestro nas AppCenter y buscamos e instalamos la aplicación Container Station.
3 - Una vez instalada la aplicación la abrimos. Nada más abrirla nos dice que va a crear una carpeta llamada Container donde se guardarán los dockers. Como ya hemos creado una le decimos la ubicación de la carpeta que hemos creado en el paso 1 de este tutorial. Si no la hemos creado no pasa nada y Container Station la crea automáticamente.
4 - En el menu de Container Station vemos a la izquierda que hay un apartado llamado Create. Le damos. Vemos que aparte de otras cosas hay un buscador. Ponemos en ese buscador calibre y le damos a buscar. De todos los resultados que salen nos fijamos en el primero ( linuxserver/calibre-web ). Este es el que vamos a instalar.
A la derecha del nombre vemos un botón que dice Install. Le damos. Nos sale una nueva ventana que pone Latest, le damos a aceptar.
Ahora nos sale otra ventana con una advertencia de seguridad. Le damos a aceptar.
Ahora nos sale una nueva ventana y si nos fijamos en la parte de abajo pone Advanced Settings.
Le damos. De las opciones que nos salen a la izquierda le damos a Network. Nos sale por defecto NAT. La cambiamos a Bridge y ponemos una ip fija distinta a la que tiene nuestro nas pero en el mismo rango ( o sea, si nuestro nas tiene la ip 192.168.50.13 le ponemos 192.168.50.14 ). Haciendo esto nos crea un adaptador virtual necesario para que el Container ( o sea, calibre-web se comunique con el nas ya que está virtualizado ).
5 - Despúes en esa misma pantalla vemos que a la izquierda hay un apartado llamado Shared. Le damos. Nos salen varios recuadros y a la derecha de cada uno vemos un botón que pone add. En el segundo apartado ( Volume from host ) le damos a ese botón add. Vemos 2 casillas vacias. En la de la izquierda ( vemos que pone Host Path ) la marcamos con el botón izquierdo del ratón y veremos que se nos abren los directorios que tenemos en nuestro nas.
Buscamos el directorio donde tenemos nuestra biblioteca calibre y se lo indicamos. O sea, si la biblioteca está en, por ejemplo, la carpeta Public ponemos /Public/carpeta de la biblioteca.
Esto era para la casilla vacia de la izquierda. Ahora en la casilla vacía de la derecha ( vemos que pone Mount Point ) tenemos que escribir /books
Antes de continuar y debido a que algunos usuarios, muy pocos, han tenido problemas con la ubicación de la biblioteca en el nas voy a explicar algunos casos y sus soluciones. Lo que estamos instalando es un programa llamado calibre-web basado en el popular programa Calibre de ordenador y, por tanto, tenemos que tener en cuenta que para usar esto primero tenemos que tener instalado en nuestro ordenador, no el el nas, ese programa Calibre y, a su vez, en nuestro ordenador una BIBLIOTECA organizada y gestionada por ese programa. Para el ejemplo tendrémos en NUESTRO ORDENADOR, una carpeta llamada BIBLIOTECA que contiene un montón de subcarpetas ( cada una de ellas con el nombre del autor correspondiente y dentro de ellas los libros ) más 2 archivos sueltos que son metadata_db_prefs ( archivo de configuración del programa calibre para ordenador ) y metadata.db ( base de datos con los libros que tengamos gestionada por Calibre de ordenador ). Os pongo una imagen para que lo veais. Nota: en la imagen veréis que es una carpeta BIBLIOTECA metida dentro de otra carpeta BIBLIOTECA. Esto es así porque actualmente lo tengo así en mi ordenador. Olvidaros de eso, UNA SOLA CARPETA BIBLIOTECA con las subcarpetas dentro más los 2 archivos metadata. Todo esto viene PORQUE NO ES VALIDO crear una carpeta vacia en el nas y meter libros ahí y que pasen a estar gestionados diréctamente por calibre-web. Esos libros, y esa biblioteca, tienen que haber pasado primero por el programa Calibre de ordenador. Luego, eso sí, esa biblioteca del ordenador SE COPIA al nas y en ese momento, deja de estar gestionada por calibre y pasa a estar gestionada por calibre-web.
Ahora tenemos varias opciones todas de ellas válidas:
1 - Copiar esa carpeta BIBLIOTECA que está en el ordenador y ponerla, por ejemplo, dentro de la carpeta Public del nas quedando así: Public/BIBLIOTECA
2 - Crear en el directorio raiz del nas una carpeta vacia con el nombre, por ejemplo, Calibre y a continuación copiar la carpeta BIBLIOTECA del ordenador dentro de esa carpeta Calibre quedando así: Calibre/BIBLIOTECA
3 - Crear en el directorio raiz del nas una carpeta VACIA llamada BIBLIOTECA y copiar dentro de ella el CONTENIDO de la carpeta BIBLIOTECA del ordenador ( o sea, las subcarpetas con los libros más los 2 archivos metadata.
Como digo todas estas opciones són válidas. Lo reálmente importante es tener en NUESTRO ORDENADOR, el programa Calibre y una biblioteca organizada y gestionada por el. Una vez copiada la carpeta BIBLIOTECA en el nas ésta carpeta pasa a ser gestionada por calibre-web y la que tenemos en el ordenador seguirá siendo gestionada por calibre. Pero para que calibre-web utilice esa carpeta BIBLIOTECA del nas tiene que haber pasado por Calibre en el ordenador. Dicho esto, seguimos.
Sin salir de esta pantalla repetimos el mismo proceso para la carpeta config que creamos en nuestro nas en el paso 1 del tutorial. La carpeta config, al ser de nueva creación la podemos crear en cualquier parte del nas sin problemas. Para ello en el mismo apartado Volume from host en el que estamos volvemos a darle al botón add. En la casilla vacía de la izquierda buscamos la ubicación de la carpeta config de nuestro nas y se lo indicamos. Hecho esto, en la casilla vacía de la derecha escribimos /config
Tiene que quedar tal que así teniendo en cuenta que cada uno de nosotros tendremos una localización distinta de nuestra biblioteca y de la carpeta config creada en el paso 1 del tutorial:
Una vez hecho esto le damos al botón Create. Nos saldrá un resumen de los datos de la instalación. Le damos a continuar.
6 - Ahora en el menu de Container Station nos vamos al apartado Containers. Aquí vemos el que acabamos de crear.
Vemos que está escrito calibre-web-1 en letras azules. Si le damos ahí nos saldrá la configuración del docker que acabamos de crear. A la derecha de las letras calibre-web-1 vemos un símbolo que parece un clip. Le damos. Nos saldrá la página de configuración de calibre-web. Si por lo que fuera no os saliera el clip otra forma de acceder es poniendo en el navegador la ip que habeis configurado anteriormente para el servidor de libros con su correspondiente puerto. O sea:
http://192.168.50.14:8083/login
Le damos a configuración de la libreria. Vemos una casilla vacia que pone ubicación de la base de datos de Calibre. Tenemos que poner /books
Actualización 14 - 08 - 2021: Antes de continuar con el tutorial y debido al problema que han tenido algunos a partir de este punto de la instalación hay que entrar en el nas en Panel de Control - Grupos de Usuarios - Editar Grupos de Usuarios y comprobar que el grupo everyone tiene activos los permisos de acceso. Si no los tiene hay que dárselos.
Lo que acabo de explicar lo podéis ver con imágenes en la parte de abajo de éste post, al final del todo:
https://www.qnapclub.es/showthread.php?tid=3048&page=12
Guardamos los cambios dándole al botón enviar.
Ahora le damos al botón inicio de sesión.
7 - Al hacerlo nos dirige a la interfaz principal del programa. Nos pide usuario y contraseña:
Usuario: admin
Contraseña: admin123
( Nota: la contraseña se puede cambiar despues )
8 - Fin.
Para acceder desde el exterior lo podemos hacer utilizando el servicio del nas myqnapcloud haciendo una redirección en nuestro router a la ip local que hayamos puesto para calibre-web en el puerto 8083 que es el que utiliza ( ese puerto se puede cambiar por el que se quiera desde la configuración de calibre-web ). Una vez hecho esto podemos acceder símplemente poniendo en el navegador nombredelnas.myqnapcloud.com ( sin www, http/s, ni número de puerto ).
Lo que hemos instalado en el nas es un contenedor que contiene dos partes que se instalan a la vez siguiendo el tutorial. Una es un sistema operativo distinto del que tiene nuestro nas, aunque también es un linux, y la otra es el programa calibre-web que es lo que vamos a usar. Tanto la una como la otra se actualizan frecuéntemente.
Para actualizar el contenedor toca desinstalarlo todo ( 5 minutos ) y volverlo a instalar siguiendo el tutorial ( otros 5 minutos ). El proceso desinstalación-instalación no afecta ni modifica para nada la biblioteca que tengamos en el nas. Nota: Debido a descubrimentos posteriores hechos a la hora de creación de éste tutorial ésto último que digo ( lo de las actualizaciones del programa calibre-web NO la de las actualizaciones del contenedor ) ha cambiado. Se puede actualizar calibre-web sin tener que desinstalar todo desde la misma interfaz del programa sin problemas. Eso si, para actualizar el contenedor SI ES OBLIGATORIO desinstalar todo. Para saber cómo hacerlo encontrareis las explicaciones pertinentes a lo largo de este post.
Procedimiento: Abrimos Container Station
1 - nos vamos al apartado CONTAINERS y eliminamos calibre-web
2 - nos vamos al apartado IMAGES y borramos dándole a la X
3 - En nuestro nas accedemos al interior de la carpeta config que creamos en el paso 1 del tutorial y BORRAMOS SU CONTENIDO.
Una vez hecho esto volvemos a instalar el contenedor siguiendo el tutorial.
A tener en cuenta al volver a instalar. Los pasos 1 - 2 - 3 del tutorial no son necesarios ya que son los que explican como instalar Container Station y, lógicamente, ya lo tenemos instalado así que volveremos a instalar siguiendo el tutorial a partir del PASO 4. Eso, si, tenemos que tener en cuenta que tenemos que haber creado en nuestro nas una carpeta llamada config necesaria para la instalación como se explica en el PASO 1 del tutorial.
Nota: Al volver a instalar todo cuando creamos de nuevo el contenedor ya estamos instalando automáticamente la última versión disponible en ese momento, del contenedor linuxserver/calibre-web y también del programa calibre-web incluido en ese contenedor.
Una vez instalado y configurado todo ¿que ocurre cuando añadimos libros nuevos en la biblioteca? Al estar en marcha calibre-web éste NO SE ENTERA de que se han añadido o eliminado nuevos libros en la biblioteca. Para que reconozca esos cambios abrimos Container Station y vamos al apartado Overview ( también se puede hacer desde el apartado Containers ) y vemos que hay unos iconos de reinicio, apagado-encendido. Al reiniciar calibre-web o apagarlo y encenderlo reconoce automáticamente los cambios. Si queremos hacer esto de manera totálmente automática lo podemos hacer. Para ello, en nuestro nas abrimos Panel de control - Energía - Programar energía y lo activamos. Una vez hecho esto veremos que tenemos distintas posibilidades a la hora de reiniciar el nas o apagarlo - encenderlo automáticamente.
Lo que conseguimos con esto es lo siguiente. Al reiniciar o apagar - encender automáticamente el nas al hacerlo también se inicia automáticamente Container Station y con el calibre-web sin que tengamos que hacer nada. Si programamos esto de acuerdo a la frecuencia de actualización de libros nuevos en nuestra biblioteca calibre-web siempre tendrá la colección de libros actualizada.
Por último y por no alargar más el tutorial os recomiendo aunque sea largo y tedioso leer todos los comentarios posteriores a éste en este post en los que se explican muchas más cosas ( configuraciones - actualizaciones del programa y del contenedor, etc, etc ). Sobretodo los últimos.