Para instalar, configurar y mantener Kavita en un VPS, necesitará un servidor virtual con un mínimo de 2 vCPU, 2-4 GB de RAM y 20 GB de disco NVMe. El proceso implica el despliegue a través de Docker Compose, la configuración de un reverse proxy (Nginx o Caddy) para garantizar un acceso seguro mediante HTTPS y la implementación de estrategias de copia de seguridad para proteger su biblioteca de cómics y libros electrónicos.
Kavita es un servidor multimedia moderno, rápido y funcional para gestionar y leer cómics digitales, manga y libros electrónicos (EPUB, PDF). A diferencia de los servidores multimedia más generales, Kavita se centra específicamente en el contenido textual y gráfico, ofreciendo una interfaz de lectura optimizada, una cómoda organización de la biblioteca y acceso desde cualquier dispositivo a través de un navegador web. El despliegue de Kavita en un VPS le permite crear una biblioteca privada y totalmente controlada, accesible solo para usted y sus usuarios seleccionados, sin depender de servicios en la nube de terceros.
La posibilidad de autoalojar (self-hosted) Kavita en su propio servidor proporciona un control total sobre los datos, un alto rendimiento y flexibilidad en la configuración. Es la solución ideal para coleccionistas de cómics y libros que buscan una plataforma fiable para organizar y leer su colección digital, así como para aquellos que valoran la privacidad y la independencia de las soluciones propietarias.
¿Qué es Kavita y por qué la necesita en un VPS?
Kavita se posiciona como un servidor autoalojado de alto rendimiento para leer cómics, manga y libros electrónicos. Admite una amplia gama de formatos, incluidos CBZ, CBR, CBT, CB7, EPUB, PDF, así como imágenes (JPG, PNG, WebP). Las principales ventajas de Kavita incluyen:
- Interfaz intuitiva: Una interfaz web moderna y responsiva que funciona perfectamente en ordenadores de escritorio, tabletas y smartphones.
- Soporte para colecciones: Posibilidad de crear colecciones, series, añadir metadatos, lo que simplifica significativamente la navegación por una gran biblioteca.
- Acceso multiusuario: Soporte para múltiples usuarios con perfiles individuales, seguimiento del progreso de lectura y configuraciones.
- Lectura progresiva: Guardado automático de la posición de lectura, lo que permite continuar desde donde lo dejó, en cualquier dispositivo.
- Optimización de imágenes: Procesamiento y compresión eficientes de imágenes para una carga rápida, incluso al leer cómics voluminosos.
- API e integraciones: Posibilidad de integración con otros servicios a través de una API, por ejemplo, para importar metadatos.
Alojar Kavita en un VPS ofrece una serie de ventajas clave en comparación con una instalación local o el uso de un servidor doméstico:
- Disponibilidad 24/7: Su servidor estará disponible desde cualquier parte del mundo en cualquier momento, siempre que tenga conexión a internet.
- Alta velocidad y estabilidad: Los proveedores de VPS, como Valebyte.com, ofrecen canales de alta velocidad y suministro eléctrico estable, lo que garantiza un funcionamiento ininterrumpido y una carga rápida del contenido.
- Escalabilidad: A medida que su biblioteca crezca o aumente el número de usuarios, podrá actualizar fácilmente los recursos de su VPS (CPU, RAM, disco) sin necesidad de reinstalar.
- Seguridad: El VPS se encuentra en un centro de datos profesional con seguridad física, y el nivel de seguridad lógico está completamente bajo su control.
- Aislamiento: Su instancia de Kavita funciona en un entorno aislado, sin afectar a otros servicios en su VPS y sin verse afectada por usuarios de hosting vecinos, como ocurre en el hosting compartido.
Si ya utiliza otras soluciones autoalojadas, como Calibre-web para libros electrónicos o AudioBookshelf para audiolibros, Kavita será un excelente complemento para su ecosistema multimedia.
Kavita Self-Hosted: Control total sobre su biblioteca
El autoalojamiento de Kavita significa que usted posee y administra completamente el servidor donde se almacenan sus datos. Esto le brinda un nivel sin precedentes de control sobre la privacidad, la seguridad y la configuración. No depende de las decisiones de terceros, sus políticas de privacidad o posibles fallos. Todos sus cómics y libros siguen siendo solo suyos, y usted decide quién y cómo accede a ellos. Para muchos entusiastas y coleccionistas, este es un factor clave al elegir una plataforma para su biblioteca digital.
Requisitos del sistema para Kavita: ¿qué VPS elegir?
La elección del VPS correcto es fundamental para un funcionamiento cómodo de Kavita. Aunque Kavita es bastante ligera, su rendimiento depende directamente del tamaño de su biblioteca y del número de usuarios simultáneos. Valebyte.com ofrece varios planes de tarifas que pueden ser adecuados para Kavita.
Requisitos mínimos y recomendados para Kavita
Antes de proceder a la elección de un VPS, consideremos los requisitos básicos:
- Procesador (CPU): Kavita utiliza activamente la CPU al escanear la biblioteca, crear miniaturas y convertir formatos. Para bibliotecas pequeñas y 1-2 usuarios, 1-2 vCPU son suficientes. Para colecciones medianas y grandes (miles de volúmenes) y varios usuarios simultáneos, es mejor tener 2-4 vCPU.
- Memoria RAM: Kavita en sí consume relativamente poca RAM (de 100 a 300 MB en modo de espera), pero el sistema operativo, Docker y otros procesos en segundo plano también requieren memoria.
- Mínimo: 2 GB de RAM (para una biblioteca pequeña de hasta 1000 volúmenes, 1-2 usuarios).
- Recomendado: 4 GB de RAM (para bibliotecas medianas de hasta 10 000 volúmenes, 2-5 usuarios).
- Para bibliotecas grandes/muchos usuarios: 8 GB de RAM o más.
- Espacio en disco: Este es el recurso más importante, ya que los cómics y los libros electrónicos pueden ocupar mucho espacio.
- Sistema: Aproximadamente 10-20 GB para el SO y Docker.
- Biblioteca: Depende de su contenido. Un cómic puede ocupar desde 50 MB hasta varios GB. El manga suele ser más ligero. Los libros electrónicos ocupan menos.
- 1000 cómics: 50 GB - 200 GB.
- 10 000 cómics: 500 GB - 2 TB.
- Tipo de disco: Asegúrese de elegir un VPS con NVMe SSD. La alta velocidad de lectura/escritura de los discos NVMe es fundamental para un escaneo rápido de la biblioteca, la creación de miniaturas y una lectura cómoda, especialmente para archivos de imagen grandes.
- Ancho de banda de red: 100 Mbit/s o 1 Gbit/s. Cuanto mayor sea, más rápido cargarán el contenido los usuarios.
- Sistema operativo: Ubuntu Server (20.04 LTS o 22.04 LTS) o Debian (11 o 12) son las distribuciones más comunes y mejor soportadas para Docker.
Tabla de recomendaciones de configuración de VPS para Kavita
A continuación se presenta una tabla con configuraciones de VPS de ejemplo de Valebyte.com, adecuadas para diferentes escenarios de uso de Kavita. Los precios son orientativos y pueden variar.
| Escenario de uso | vCPU | RAM (GB) | Disco (NVMe SSD) | Tráfico | Costo aproximado (USD/mes) |
|---|---|---|---|---|---|
| Uso personal (hasta 1000 volúmenes, 1-2 usuarios) | 2 | 2 | 100 GB | Ilimitado | $5 - $10 |
| Biblioteca pequeña (hasta 5000 volúmenes, 2-5 usuarios) | 2-4 | 4 | 250 GB | Ilimitado | $10 - $20 |
| Biblioteca mediana (hasta 20 000 volúmenes, 5-10 usuarios) | 4 | 8 | 500 GB | Ilimitado | $20 - $40 |
| Biblioteca grande (más de 20 000 volúmenes, 10+ usuarios) | 6-8+ | 16+ | 1 TB+ | Ilimitado | $40+ |
Para la mayoría de los usuarios que comienzan con Kavita, la elección óptima será un VPS con 2-4 vCPU, 4 GB de RAM y 250 GB de disco NVMe. Esto proporcionará un buen equilibrio entre rendimiento y costo. Asegúrese de que su VPS utilice la tecnología de virtualización KVM, ya que esto garantiza un aislamiento completo de los recursos y un mejor rendimiento en comparación con OpenVZ.
¿Busca un servidor fiable para sus proyectos?
VPS desde $10/mes y servidores dedicados desde $9/mes con NVMe, protección DDoS y soporte 24/7.
Ver ofertas →Preparación del VPS para la instalación de Kavita: Docker y Docker Compose
El despliegue de Kavita a través de Docker es la forma más recomendada y sencilla. Docker proporciona aislamiento de la aplicación, simplifica la gestión de dependencias y facilita las actualizaciones. Antes de proceder a la instalación de Kavita, es necesario preparar su VPS.
Configuración inicial del servidor
Se asume que tiene un VPS recién instalado con Ubuntu Server 20.04 LTS o 22.04 LTS. Conéctese a él por SSH.
ssh user@your_vps_ip
Actualice la lista de paquetes y los paquetes instalados:
sudo apt update
sudo apt upgrade -y
Instale las utilidades necesarias, si no las tiene:
sudo apt install -y curl wget git nano htop
Instalación de Docker y Docker Compose
Docker Engine y Docker Compose son la base de nuestro despliegue. Si desea profundizar en el tema de los contenedores, le recomendamos leer nuestro artículo "Contenedores vs VM vs Bare-metal".
Instalación de Docker Engine:
La forma más fiable es utilizar el script oficial de instalación de Docker:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
Añada su usuario al grupo docker para evitar usar sudo en cada comando de Docker:
sudo usermod -aG docker $USER
newgrp docker
Verifique que Docker se ha instalado correctamente:
docker run hello-world
Debería ver un mensaje de bienvenida de Docker.
Instalación de Docker Compose:
Docker Compose permite definir y ejecutar aplicaciones Docker multicontenedor. Para instalar la última versión estable:
sudo apt install docker-compose-plugin -y
Verifique la versión de Docker Compose (ahora es el comando docker compose, no docker-compose):
docker compose version
Debería ver algo como Docker Compose version v2.x.x.
¿Buscas un servidor que simplemente funcione?
Valebyte VPS — NVMe, soporte 24/7, despliegue en 60 segundos.
¿Cómo instalar Kavita en un VPS con Docker Compose?
Ahora que Docker y Docker Compose están instalados, podemos proceder al despliegue de Kavita. Utilizaremos la imagen oficial de Kavita y Docker Compose para facilitar la gestión.
Creación de la estructura de directorios y el archivo docker-compose.yml
Primero, cree un directorio para Kavita donde se almacenarán todos sus archivos de configuración y datos:
mkdir -p ~/kavita/config
mkdir -p ~/kavita/library
cd ~/kavita
Aquí:
~/kavita/config: Almacenará la configuración de Kavita, la base de datos y otros archivos importantes.~/kavita/library: Este es el directorio donde cargará sus cómics, manga y libros.
Cree el archivo docker-compose.yml en el directorio ~/kavita:
nano docker-compose.yml
Pegue el siguiente contenido:
version: '3.8'
services:
kavita:
image: kizaing/kavita:latest
container_name: kavita
environment:
- TZ=Europe/Moscow # Especifique su zona horaria
volumes:
- ./config:/kavita/config # Almacenamiento de configuración
- ./library:/kavita/library # Su biblioteca de cómics y libros
# - /path/to/your/additional/library:/kavita/additional_library # Opcional: rutas adicionales a bibliotecas
ports:
- "5000:5000" # Puerto para acceder a Kavita
restart: unless-stopped
networks:
- kavita_network
networks:
kavita_network:
driver: bridge
Guarde y cierre el archivo (Ctrl+O, Enter, Ctrl+X).
Explicaciones del archivo docker-compose.yml:
version: '3.8': Indica la versión de la sintaxis de Docker Compose.image: kizaing/kavita:latest: Utiliza la imagen oficial de Kavita.:latestsignifica la última versión estable.container_name: kavita: Asigna un nombre al contenedor para una fácil identificación.environment: - TZ=Europe/Moscow: Establece la zona horaria dentro del contenedor. Reemplácela por la suya.volumes:: Define los volúmenes montados. Esto es muy importante, ya que permite guardar los datos de Kavita fuera del contenedor../config:/kavita/config: El directorio local~/kavita/configse monta en/kavita/configdentro del contenedor. Aquí Kavita almacenará su base de datos, caché y configuraciones../library:/kavita/library: El directorio local~/kavita/libraryse monta en/kavita/librarydentro del contenedor. Este es el lugar para sus archivos multimedia.- Puede añadir volúmenes adicionales para otras carpetas de contenido si tiene varias fuentes.
ports: - "5000:5000": Redirecciona el puerto 5000 del contenedor al puerto 5000 del sistema anfitrión. Kavita por defecto funciona en el puerto 5000.restart: unless-stopped: El contenedor se reiniciará automáticamente si se detiene por cualquier motivo (por ejemplo, después de un reinicio del VPS), a menos que lo detenga manualmente.networks:: Define una red interna para Kavita. Esto es útil si planea ejecutar otros servicios (por ejemplo, un reverse proxy) en Docker y desea que interactúen a través de la red interna.
Inicio de Kavita Docker
En el directorio ~/kavita, donde se encuentra su docker-compose.yml, ejecute el comando para iniciar Kavita:
docker compose up -d
Este comando descargará la imagen de Kavita, creará el contenedor y lo iniciará en segundo plano (-d). El proceso tardará un tiempo la primera vez que se ejecute, ya que Docker descargará la imagen.
Verifique el estado de los contenedores en ejecución:
docker compose ps
Debería ver el contenedor kavita con el estado Up.
Ahora Kavita está disponible en la dirección IP de su VPS en el puerto 5000: http://your_vps_ip:5000. Abra esta dirección en su navegador para completar la configuración inicial de Kavita (creación del administrador, adición de bibliotecas).
Adición de archivos a la biblioteca de Kavita
Después de la instalación exitosa de Kavita, deberá añadir sus archivos multimedia. Suba sus cómics, manga y libros al directorio ~/kavita/library en su VPS. Puede usar SCP, SFTP (a través de FileZilla) o rsync para esto.
Ejemplo de subida a través de SCP:
scp -r /path/to/your/local/comics user@your_vps_ip:~/kavita/library/
Después de subir los archivos, acceda a la interfaz web de Kavita, vaya a la sección "Libraries" y añada una nueva biblioteca, especificando la ruta /kavita/library (o cualquier otra ruta que haya montado en el contenedor).
Configuración de Reverse Proxy (Nginx/Caddy) y HTTPS para Kavita
El acceso directo a Kavita por dirección IP y puerto 5000 no es seguro ni conveniente. Para garantizar un acceso seguro por nombre de dominio con cifrado (HTTPS), es necesario configurar un reverse proxy. Consideraremos dos opciones populares: Nginx y Caddy.
¿Por qué se necesita un Reverse Proxy y HTTPS?
- Seguridad (HTTPS): El cifrado del tráfico entre su navegador y Kavita protege sus datos de la interceptación. Let's Encrypt proporciona certificados SSL/TLS gratuitos.
- Comodidad: Acceso por un nombre de dominio atractivo (por ejemplo,
kavita.yourdomain.com) en lugar de una dirección IP y un puerto. - Centralización: Un reverse proxy puede servir a varias aplicaciones web en un mismo VPS, dirigiendo las solicitudes al contenedor adecuado en función del nombre de dominio.
- Funciones adicionales: Caché, equilibrio de carga, autenticación básica y otras capacidades.
Para esta parte, necesitará un nombre de dominio registrado y un registro A que apunte a la dirección IP de su VPS (por ejemplo, kavita.yourdomain.com -> your_vps_ip).
Opción 1: Configuración de Nginx como Reverse Proxy
Nginx es un servidor web potente y ampliamente utilizado que funciona perfectamente como reverse proxy. Instale Nginx si aún no está instalado:
sudo apt install nginx -y
Cree un nuevo archivo de configuración para Kavita:
sudo nano /etc/nginx/sites-available/kavita.conf
Pegue el siguiente contenido, reemplazando kavita.yourdomain.com por su dominio:
server {
listen 80;
listen [::]:80;
server_name kavita.yourdomain.com;
# Redirección HTTP a HTTPS
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name kavita.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/kavita.yourdomain.com/fullchain.pem; # Ruta a su certificado
ssl_certificate_key /etc/letsencrypt/live/kavita.yourdomain.com/privkey.pem; # Ruta a su clave privada
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384";
ssl_prefer_server_ciphers off;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
add_header Referrer-Policy "no-referrer-when-downgrade";
add_header Content-Security-Policy "frame-ancestors 'self'";
location / {
proxy_pass http://localhost:5000; # O http://kavita:5000 si Nginx también está en la red Docker
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_buffering off;
proxy_read_timeout 900s;
proxy_send_timeout 900s;
proxy_connect_timeout 900s;
}
}
Guarde y cierre el archivo.
Obtención de un certificado SSL con Let's Encrypt (Certbot)
Instale Certbot para Nginx:
sudo apt install certbot python3-certbot-nginx -y
Cree un enlace simbólico a su archivo de configuración:
sudo ln -s /etc/nginx/sites-available/kavita.conf /etc/nginx/sites-enabled/
Verifique la configuración de Nginx en busca de errores:
sudo nginx -t
Si no hay errores, recargue Nginx:
sudo systemctl reload nginx
Ahora obtenga el certificado SSL:
sudo certbot --nginx -d kavita.yourdomain.com
Siga las instrucciones de Certbot. Actualizará automáticamente su configuración de Nginx para usar HTTPS. Después de esto, Certbot añadirá una tarea a cron para la renovación automática de certificados.
En caso de que utilice otros servicios, como Navidrome o Gitea en el mismo VPS, puede usar el mismo Nginx para su proxy.
Opción 2: Configuración de Caddy como Reverse Proxy
Caddy es un servidor web moderno con HTTPS automático (a través de Let's Encrypt), lo que lo hace muy fácil de configurar. Para instalar Caddy, siga las instrucciones oficiales, por ejemplo:
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy -y
Cree el archivo Caddyfile:
sudo nano /etc/caddy/Caddyfile
Elimine el contenido existente y pegue lo siguiente, reemplazando kavita.yourdomain.com por su dominio:
kavita.yourdomain.com {
reverse_proxy localhost:5000 # O kavita:5000 si Caddy también está en la red Docker
# Encabezados adicionales para seguridad (opcional, pero recomendado)
header {
X-Frame-Options SAMEORIGIN
X-XSS-Protection "1; mode=block"
X-Content-Type-Options nosniff
Referrer-Policy "no-referrer-when-downgrade"
Content-Security-Policy "frame-ancestors 'self'"
}
}
Guarde y cierre el archivo.
Verifique la configuración de Caddy:
sudo caddy validate --config /etc/caddy/Caddyfile
Reinicie Caddy:
sudo systemctl restart caddy
Caddy obtendrá y renovará automáticamente los certificados SSL para su dominio. Ahora Kavita estará disponible en https://kavita.yourdomain.com.
Mantenimiento de Kavita en el servidor: copias de seguridad y actualizaciones
El mantenimiento regular de Kavita en el servidor es clave para su funcionamiento estable y seguro. Esto incluye la creación de copias de seguridad y actualizaciones oportunas.
Copia de seguridad de Kavita (Backups)
Las copias de seguridad son su seguro contra la pérdida de datos. En el caso de Kavita, lo más importante son la base de datos y los archivos de configuración, así como la propia biblioteca de cómics.
Dado que utiliza Docker Compose y volúmenes montados, el proceso de copia de seguridad es relativamente sencillo:
- Detenga el contenedor de Kavita (opcional, pero recomendado para la consistencia de la base de datos):
cd ~/kavita docker compose stop - Cree un archivo con los datos:
Archive los directorios
configylibrary.tar -czvf kavita_backup_$(date +%Y%m%d_%H%M%S).tar.gz ~/kavita/config ~/kavita/libraryEste comando creará un archivo con un nombre que contiene la fecha y hora actuales.
- Mueva la copia de seguridad a un lugar seguro:
No guarde las copias de seguridad en el mismo VPS que los datos originales. Muévalas a un almacenamiento remoto (almacenamiento compatible con S3, servidor FTP, Google Drive/Dropbox a través de rclone, o a un ordenador local).
scp kavita_backup_*.tar.gz user@your_backup_server:/path/to/backups/ - Inicie el contenedor de Kavita:
cd ~/kavita docker compose start
Automatización de copias de seguridad con Cron:
Puede automatizar este proceso creando un script bash y añadiéndolo al planificador Cron. Cree el archivo backup_kavita.sh:
nano ~/backup_kavita.sh
Contenido del script (reemplace /path/to/remote/backup/ por su ruta):
#!/bin/bash
BACKUP_DIR="/root/kavita_backups" # Directorio temporal para copias de seguridad en el VPS
KAVITA_DATA_DIR="/root/kavita"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="${BACKUP_DIR}/kavita_backup_${TIMESTAMP}.tar.gz"
REMOTE_BACKUP_TARGET="user@your_backup_server:/path/to/remote/backup/" # Ejemplo: [email protected]:/mnt/backups/kavita/
mkdir -p "$BACKUP_DIR"
echo "Stopping Kavita container..."
docker compose -f "${KAVITA_DATA_DIR}/docker-compose.yml" stop
echo "Creating backup of Kavita data..."
tar -czvf "$BACKUP_FILE" -C "${KAVITA_DATA_DIR}" config library
echo "Starting Kavita container..."
docker compose -f "${KAVITA_DATA_DIR}/docker-compose.yml" start
echo "Transferring backup to remote storage..."
scp "$BACKUP_FILE" "$REMOTE_BACKUP_TARGET"
echo "Cleaning up local backup file..."
rm "$BACKUP_FILE"
echo "Kavita backup completed."
Haga que el script sea ejecutable:
chmod +x ~/backup_kavita.sh
Añada la tarea a Cron (por ejemplo, para una copia de seguridad diaria a las 3 de la mañana):
crontab -e
Añada la línea al final del archivo:
0 3 * * * /root/backup_kavita.sh > /dev/null 2>&1
Asegúrese de configurar el acceso SSH sin contraseña (claves SSH) para el usuario que ejecutará el script, para que scp pueda funcionar automáticamente.
Actualización de Kavita y Docker
Las actualizaciones regulares son importantes para obtener nuevas funciones, correcciones de errores y parches de seguridad.
Actualización de Kavita
Para actualizar Kavita a la última versión, basta con ejecutar unos pocos comandos:
cd ~/kavita
docker compose pull # Descarga la última versión de la imagen de Kavita
docker compose up -d # Recrea el contenedor con la nueva imagen, conservando los datos
Kavita se encarga de la migración de la base de datos si es necesario, por lo que el proceso de actualización suele ser fluido.
Actualización de Docker y el SO
También es importante mantener actualizados Docker Engine, Docker Compose y el propio sistema operativo de su VPS:
sudo apt update
sudo apt upgrade -y
Después de actualizar el kernel del SO, puede ser necesario reiniciar el VPS:
sudo reboot
Después del reinicio, asegúrese de que todos los contenedores Docker (incluido Kavita) se hayan iniciado automáticamente (gracias a restart: unless-stopped).
¿Buscas un servidor que simplemente funcione?
Valebyte VPS — NVMe, soporte 24/7, despliegue en 60 segundos.
Configuración óptima de VPS para Kavita bajo carga real
La elección de la configuración óptima de VPS para Kavita depende de muchos factores: el tamaño de su biblioteca, el número de usuarios activos, la frecuencia de acceso, así como otros servicios que puedan ejecutarse en el mismo VPS. Para monitorizar los recursos del servidor y tomar decisiones de escalado, recomendamos utilizar herramientas como Netdata.
Factores que influyen en la carga y la elección del VPS
- Tamaño de la biblioteca:
- Pequeña (hasta 1000 volúmenes): 2 vCPU, 2-4 GB RAM, 100-250 GB NVMe.
- Mediana (1000-10000 volúmenes): 4 vCPU, 4-8 GB RAM, 250-500 GB NVMe.
- Grande (más de 10000 volúmenes): 6-8+ vCPU, 8-16+ GB RAM, 1 TB+ NVMe.
Cuantos más archivos, más tiempo se necesita para el escaneo inicial y la creación de miniaturas, lo que carga la CPU y el subsistema de disco. Después de la indexación, la carga de la CPU disminuye, pero las solicitudes de disco siguen siendo altas durante la lectura.
- Número de usuarios simultáneos:
- 1-2 usuarios: Los requisitos mínimos suelen ser suficientes.
- 3-5 usuarios: Se recomienda 4 vCPU y 4 GB de RAM para un funcionamiento cómodo.
- Más de 5 usuarios: 6-8 vCPU y 8+ GB de RAM. Cada usuario activo, especialmente si lee cómics pesados, puede aumentar el consumo de CPU y E/S.
- Tipo de contenido:
- Cómics/Manga (CBR/CBZ): Suelen contener muchas imágenes de alta resolución, lo que requiere más E/S de disco y ancho de banda de red.
- Libros electrónicos (EPUB/PDF): Ocupan menos espacio y son menos exigentes en recursos durante la lectura.
- Velocidad del subsistema de disco:
Es fundamental un NVMe SSD. La diferencia entre NVMe y los SSD o HDD normales será notable al escanear la biblioteca, cargar páginas de cómics y trabajar con la base de datos.
- Ancho de banda de red:
Si tiene muchos usuarios o sube archivos grandes con frecuencia, asegúrese de que su VPS tenga un canal de red de alta velocidad (1 Gbit/s).
Recomendaciones de escalado
Comience con una configuración que se adapte a sus necesidades actuales y esté preparado para escalarla a medida que crezca. La mayoría de los proveedores de VPS, incluido Valebyte.com, permiten aumentar fácilmente los recursos (CPU, RAM, disco) de su servidor sin reinstalar el SO.
- Monitorización de recursos: Utilice
htop,iotop,docker statso Netdata para rastrear el consumo de CPU, RAM y E/S de disco. Si la CPU está constantemente cargada al 80-100%, o el tiempo de espera de E/S es alto, es una señal para actualizar. - Optimización de la biblioteca: Asegúrese de que sus archivos estén comprimidos de forma óptima. Algunos usuarios reconvierten los cómics a WebP u otros formatos más eficientes para ahorrar espacio y mejorar el rendimiento.
- Caché: El reverse proxy (Nginx/Caddy) se puede configurar para almacenar en caché contenido estático, lo que reducirá la carga en Kavita.
- Servidor dedicado: Para bibliotecas muy grandes (decenas de miles de volúmenes) y un gran número de usuarios (más de 20), quizás valga la pena considerar la transición a un servidor dedicado. Esto le dará el máximo rendimiento y control.
Recuerde que la inversión en un VPS más potente suele compensarse con una experiencia de usuario más cómoda y un ahorro de tiempo al esperar la carga.
Conclusiones
La instalación, configuración y mantenimiento de Kavita en un VPS a través de Docker Compose es una forma eficaz de crear un potente y privado servidor multimedia para su colección de cómics y libros electrónicos. La elección correcta de la configuración del VPS con discos NVMe, el acceso seguro a través de un reverse proxy con HTTPS y las copias de seguridad regulares garantizarán un funcionamiento estable, rápido y seguro de su servicio. Comience con un plan básico de Valebyte.com con 2-4 vCPU y 4 GB de RAM, y escale los recursos a medida que crezca su biblioteca digital y el número de usuarios.
¿Listo para elegir un servidor?
VPS y servidores dedicados en más de 72 países con activación instantánea y acceso root completo.
Empezar ahora →