Kavita: tu biblioteca digital en línea

Construye una biblioteca virtual con Kavita para organizar y leer tus libros de manera remota

Con frecuencia dependemos más de nuestros dispositivos electrónicos para consumir contenido, y hoy en día es común armar una colección de libros digitales; sin embargo, puede resultar tedioso tener que estar transfiriendo estos archivos entre distintos equipos e instalar un programa que nos permita abrirlos en cada uno; con un lector web es posible hacerlos disponible desde la red y así evitar esa clase de inconvenientes.

En mi caso, he elegido Kavita, aunque existen otras opciones tales como Calibre Web o Komga; mi decisión se debe a que lo considero el más sencillo de instalar y configurar, y porque tiene amplias funciones; aunque el lector web te permite leer tus libros con un navegador de internet, en muchos casos también podrás conectarte mediante otros clientes: desde programas hasta tabletas y similares.

Instalando Kavita en tu servidor

Por suerte, instalar Kavita resulta bastante fácil: en Linux, se trata de descargar el ejecutable que se encuentra en la página de Github del proyecto; asegúrate de seleccionar el archivo que sea compatible con la arquitectura de tu servidor en cuestión. Para este ejemplo, asumiré que se trata de Linux amd64; en ese caso, decimos:

wget https://github.com/Kareadita/Kavita/releases/download/v0.8.6/kavita-linux-x64.tar.gz

Extrae el ejecutable

Lo siguiente es extraerlo para que podamos utilizarlo; a mí me gusta el comando unzip, aunque una forma más universal sería mediante tar:

tar -xzf kavita-linux-x64.tar.gz

Crea un usuario y grupo para manejar Kavita

Debemos crear un usuario de sistema para que se encargue de administrar el servicio de Kavita:

sudo useradd --system -s /usr/bin/nologin kavita

Y luego un grupo al que agregaremos a dicho usuario:

sudo groupadd kavita
sudo usermod -aG kavita kavita

Configura su directorio y otorga los permisos necesarios

Necesitamos definir el directorio en que alojaremos los archivos del servicio de Kavita; podemos hacerlo de la siguiente manera:

sudo move Kavita /opt/Kavita

Luego, tenemos que otorgarle los permisos necesarios:

sudo chmod -R 755 /opt/Kavita
sudo chown -R kavita:kavita /opt/Kavita

Escribe una unidad de systemd para administrar el servicio

Por último, nos queda hacer una unidad de systemd que nos permita habilitar y correr el servicio que ejecutará a Kavita; para este ejemplo, podemos utilizar el modelo que sugiere la wiki.

Podemos crearla con cualquier editor de texto, aunque en este ejemplo usaré vim. Sería entonces:

sudo vim /etc/systemd/system/kavita.service

Dentro, colocaremos:

[Unit]
Description=Kavita Server
After=network.target
 
[Service]
User=kavita
Group=kavita
Type=simple
WorkingDirectory=/opt/Kavita
ExecStart=/opt/Kavita/Kavita
TimeoutStopSec=20
KillMode=process
Restart=on-failure
 
[Install]
WantedBy=multi-user.target

Y luego pasamos a habilitarlo y ejecutarlo con:

sudo systemctl enable --now kavita

Eso es todo; ahora puedes visitar la interfaz web yendo a http://ip.de.tu.servidor:5000.

Configura el servidor web

Yo siempre instalo apache2, aunque puedes utilizar otro servidor web si lo deseas como nginx o lighttpd. Para apache2 ejecutamos:

sudo apt update && sudo apt upgrade
sudo apt install apache2 certbot

Debes crear un archivo de configuración del sitio en /etc/apache2/sites-available/kavita.conf, y en éste utilizaremos un proxy inverso:

<VirtualHost *:80>
        ServerName lector.tupagina.com
        Redirect permanent / https://lector.tupagina.com
</VirtualHost>
<VirtualHost *:443>
    ServerName lector.tupagina.com
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    SSLEngine on
    SSLProxyEngine on
    SSLProxyVerify none
    SSLProxyCheckPeerCN off
    SSLProxyCheckPeerName off
    SSLProxyCheckPeerExpire off
        SSLCertificateFile /etc/letsencrypt/live/lector.tupagina.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/lector.tupagina.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf

    ProxyPreserveHost On
    ProxyRequests Off
    ProxyPass / http://127.0.0.1:5000/
    ProxyPassReverse / http://127.0.0.1:5000/
    RewriteCond %{HTTP:UPGRADE} ^.*WebSocket.*$ [NC]
    RewriteCond %{HTTP:CONNECTION} ^.*Upgrade.*$ [NC]
    RewriteRule .* ws://127.0.0.1:5000%{REQUEST_URI} [P]
    
</VirtualHost>

Recuerda habilitar los módulos necesarios para apache2; en el caso de Debian, decimos:

sudo a2enmod proxy && sudo a2enmod proxy_http

Ahora nos toca habilitar el sitio con la configuración anterior:

sudo a2ensite kavita

Y por último, solicitar el certificado SSL con certbot:

sudo certbot certonly --apache -d lector.tupagina.com

Conclusión: Tu biblioteca digital, disponible en línea

Con Kavita es mucho más fácil tener acceso a nuestros libros desde la web, y además se encarga de seguir el progreso leído y sincronizarlo entre diferentes dispositivos; incluso, puedes usarlo con un Kindle o Kobo si necesitas algo más portátil que puedas transportar a mano.

Dicho esto, no es una solución perfecta y tendrás que editar parte de la metadata de manera manual; por suerte la interfaz web es fácil e intuitiva, así que no será mucho problema. Cabe destacar que puedes conseguir beneficios extra con una suscripción a Kavita+, incluyendo algunas facilidades adicionales para obtener metadata, entre otras cosas. He quedado bastante impresionado con este proyecto y me parece excelente; si te ha gustado, considera brindarle apoyo mediante el servicio antes mencionado.

Comandos: ALT + / (buscar) | TAB (navegar resultados) | ENTER (elegir)