bolt Valebyte VPS desde $4/mes — NVMe, despliegue en 60s.

Obtener VPS arrow_forward

Wiki.js en un VPS: instalación, configuración y mantenimiento

calendar_month 14 de junio de 2026 schedule 24 min de lectura visibility 23 vistas
person
Valebyte Team
Wiki.js en un VPS: instalación, configuración y mantenimiento

La instalación de Wiki.js en un VPS implica el despliegue a través de Docker/Compose, la configuración de un proxy inverso con HTTPS y el mantenimiento posterior, lo que proporciona una potente plataforma de gestión del conocimiento autoalojada (self-hosted) accesible desde cualquier parte del mundo.

Wiki.js es un sistema de gestión del conocimiento (Wiki) moderno, potente y extensible, desarrollado en Node.js. Permite crear, editar y gestionar contenido mediante una interfaz intuitiva, compatible con varios editores, incluidos Markdown, AsciiDoc y WYSIWYG. El despliegue de Wiki.js en su propio VPS proporciona un control total sobre los datos, la seguridad y el rendimiento, lo que lo convierte en una solución ideal para empresas, equipos de desarrolladores o particulares que deseen crear un repositorio de información centralizado.

En esta guía detallada, cubriremos cada etapa: desde los requisitos del sistema y la elección del VPS óptimo hasta la instalación paso a paso de Wiki.js utilizando Docker, la configuración de un proxy inverso con HTTPS y el mantenimiento posterior del sistema. También proporcionaremos recomendaciones para elegir la configuración del VPS, de modo que su Wiki.js funcione de manera estable y rápida incluso bajo una carga elevada.

¿Qué es Wiki.js y por qué es la solución ideal para la gestión del conocimiento en un VPS?

Wiki.js es una de las plataformas más modernas y funcionales para la creación de sitios wiki, diseñada teniendo en cuenta las necesidades de los usuarios y administradores actuales. Está construida sobre Node.js, lo que garantiza un alto rendimiento y flexibilidad. A diferencia de los sistemas wiki tradicionales, Wiki.js se centra en la facilidad de uso, la extensibilidad y la integración con tecnologías modernas. El despliegue de Wiki.js en un servidor, especialmente en un VPS, le otorga un control total sobre su base de conocimientos, su seguridad y su disponibilidad.

Características y ventajas principales de Wiki.js

Wiki.js destaca entre sus competidores gracias a una serie de características clave:

  • Variedad de editores: Compatible con Markdown, AsciiDoc, WYSIWYG (Visual Editor) y HTML. Esto permite a los usuarios elegir la forma más cómoda de crear y editar contenido.
  • Sistema de autenticación flexible: Integración con LDAP/AD, OAuth2 (Google, GitHub, GitLab, Microsoft), SAML y autenticación local. Esto hace que Wiki.js sea adecuado para su uso en entornos corporativos con sistemas de gestión de usuarios existentes.
  • Gestión de archivos y medios: El gestor de archivos integrado permite cargar, organizar e insertar fácilmente imágenes y otros archivos multimedia en los artículos.
  • Control de versiones: Cada cambio en un artículo se guarda automáticamente, proporcionando un historial completo de cambios y la capacidad de restaurar versiones anteriores.
  • Búsqueda y navegación: La potente búsqueda de texto completo y la navegación intuitiva por categorías y etiquetas ayudan a encontrar rápidamente la información necesaria.
  • Interfaz personalizable: Posibilidad de cambiar temas, logotipos y otros elementos de diseño para que coincidan con la identidad corporativa.
  • Extensibilidad: Soporte para plugins y módulos para añadir nuevas funcionalidades, así como una API para la integración con otros sistemas.

¿Para quién es adecuado Wiki.js self-hosted?

El modelo Wiki.js self-hosted en un VPS propio abre amplias posibilidades para diversas categorías de usuarios:

  • Equipos de desarrolladores: Para documentar código, API, decisiones de proyectos y especificaciones técnicas. Esto ayuda a los nuevos miembros del equipo a integrarse más rápidamente en el proyecto y a los experimentados a mantener el conocimiento actualizado.
  • Pequeñas y medianas empresas: Para crear una base de conocimientos interna, instrucciones para empleados, políticas corporativas y preguntas frecuentes (FAQ). Esto reduce la carga del servicio de soporte y aumenta la eficiencia operativa.
  • Instituciones educativas: Para organizar materiales de estudio, apuntes de clases, manuales y proyectos estudiantiles.
  • Comunidades y organizaciones sin fines de lucro: Para el almacenamiento centralizado de información, actas de reuniones, planes de eventos y colaboración en proyectos.
  • Particulares: Para notas personales, diarios, colecciones de recetas o como base de conocimientos personal sobre aficiones e intereses.

Al elegir Wiki.js en un VPS, no solo obtiene una wiki, sino una potente herramienta para organizar y distribuir información, totalmente controlada por usted. Esto es especialmente relevante si valora la confidencialidad de los datos y la flexibilidad de configuración que los servicios en la nube no siempre pueden ofrecer. Puede leer más sobre las diferencias en el alojamiento en nuestro artículo Contenedores vs VM vs Bare-metal: el panorama del hosting en 2026.

Requisitos del sistema para la instalación de Wiki.js en un servidor

Antes de proceder con la instalación de Wiki.js, es importante asegurarse de que su servidor cumple con los requisitos mínimos del sistema. Aunque Wiki.js es relativamente ligero, su rendimiento depende directamente de los recursos que le asigne, especialmente si se prevé un uso activo y un gran número de usuarios. El despliegue de Wiki.js en un servidor requiere un enfoque cuidadoso en la elección de la configuración.

Recursos de hardware mínimos y recomendados

La elección de los recursos de hardware del VPS depende de la carga prevista: número de usuarios, volumen de contenido y frecuencia de accesos. Aquí tiene algunas recomendaciones generales:

Requisitos mínimos (para uso personal o un equipo pequeño de hasta 5-10 personas):

  • Procesador: 1 vCPU (núcleo virtual) con una frecuencia de 2.0 GHz o superior.
  • Memoria RAM: 1 GB. Wiki.js en Node.js utiliza la memoria de manera bastante eficiente, pero para un funcionamiento estable con el SO, la base de datos y el contenedor Docker, 1 GB es el mínimo absoluto.
  • Espacio en disco: 10-20 GB NVMe SSD. El SSD acelera significativamente el funcionamiento de la base de datos y la carga de páginas. NVMe es preferible al SATA SSD.
  • Ancho de banda de red: 100 Mbps.

Requisitos recomendados (para equipos de tamaño mediano de hasta 50 personas o un uso más activo):

  • Procesador: 2 vCPU con una frecuencia de 2.5 GHz o superior.
  • Memoria RAM: 2-4 GB. Esto garantizará un funcionamiento cómodo al editar y ver artículos simultáneamente por varios usuarios.
  • Espacio en disco: 40-80 GB NVMe SSD. Permitirá almacenar más contenido, imágenes y proporcionará un margen para el crecimiento.
  • Ancho de banda de red: 1 Gbps.

Para instalaciones grandes (más de 50 usuarios, uso intensivo):

  • Procesador: 4+ vCPU con alta frecuencia de reloj.
  • Memoria RAM: 8+ GB.
  • Espacio en disco: 100+ GB NVMe SSD.
  • Ancho de banda de red: 1 Gbps.

Es importante recordar que estos requisitos incluyen recursos para el propio Wiki.js, la base de datos, el motor Docker y el sistema operativo. Siempre es mejor tener un pequeño margen que encontrarse con una escasez de recursos.

Software necesario

Para una instalación exitosa de Wiki.js en un VPS, necesitará el siguiente conjunto de software:

  • Sistema operativo:
    • Preferiblemente: Ubuntu Server (20.04 LTS o posterior), Debian (11 o posterior), CentOS Stream (8 o posterior). Estas distribuciones son bien compatibles con Docker y tienen una amplia documentación.
    • Importante: Una instalación limpia, sin servidores web preinstalados (Apache, Nginx), a menos que planee usarlos para otros fines.
  • Docker Engine: La versión estable actual de Docker para su sistema operativo. Wiki.js recomienda oficialmente la instalación de Wiki.js Docker, ya que simplifica el despliegue y la gestión de dependencias.
  • Docker Compose: Para la orquestación de múltiples contenedores Docker (Wiki.js, base de datos) utilizando un único archivo de configuración.
  • Base de datos: Wiki.js es compatible con varios tipos de bases de datos:
    • PostgreSQL (recomendado): Versión 9.5 o posterior. Esta es la opción más preferida para Wiki.js debido a su fiabilidad y rendimiento.
    • MySQL/MariaDB: Versión 5.7.8 / 10.2.7 o posterior.
    • SQLite: Solo para instalaciones muy pequeñas y pruebas, no recomendado para entornos de producción debido a limitaciones de rendimiento y escalabilidad.
    • MS SQL Server: Compatible, pero menos común en VPS Linux.
    Utilizaremos PostgreSQL junto con Docker.
  • Proxy inverso (Reverse Proxy):
    • Nginx o Caddy. Recibirán las solicitudes entrantes y las redirigirán al contenedor Docker de Wiki.js, además de proporcionar cifrado SSL (HTTPS).

Una vez que se haya asegurado de que su VPS cumple con estos requisitos, estará listo para el siguiente paso: preparar el servidor para el despliegue de Wiki.js.

¿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 la imagen Docker de Wiki.js

Antes de proceder con la instalación de Wiki.js, es necesario preparar su servidor virtual. Esta etapa incluye la elección del sistema operativo, su configuración básica y la instalación del software necesario, como Docker y Docker Compose. El uso de la imagen Wiki.js Docker simplifica significativamente el proceso, aislando la aplicación con todas sus dependencias.

Elección y configuración del sistema operativo

Como se mencionó anteriormente, las distribuciones basadas en Debian/Ubuntu son ideales para el despliegue de Wiki.js. Utilizaremos Ubuntu Server 22.04 LTS como la opción más popular y bien documentada.

1. Acceso al VPS: Conéctese a su VPS por SSH. Necesitará la dirección IP del servidor y las credenciales (nombre de usuario/contraseña o clave SSH).

ssh user@your_vps_ip_address

2. Actualización del sistema: Después de conectarse, lo primero es actualizar todos los paquetes instalados a las últimas versiones. Esto garantizará la estabilidad y seguridad de su sistema.

sudo apt update
sudo apt upgrade -y

3. Configuración del firewall (UFW): Se recomienda encarecidamente configurar un firewall para restringir el acceso al servidor solo a los puertos necesarios. Para Ubuntu, este es Uncomplicated Firewall (UFW).

sudo apt install ufw -y
sudo ufw allow OpenSSH # Permitir conexiones SSH
sudo ufw allow http # Permitir HTTP (puerto 80)
sudo ufw allow https # Permitir HTTPS (puerto 443)
sudo ufw enable
sudo ufw status

Asegúrese de que SSH esté permitido antes de habilitar UFW, de lo contrario, podría perder el acceso al servidor.

Instalación de Docker y Docker Compose

Para el despliegue de contenedores Wiki.js Docker, necesitaremos instalar Docker Engine y Docker Compose.

1. Instalación de Docker Engine: Elimine las versiones antiguas de Docker, si las hay:

for pkg in docker.io docker-doc docker-compose docker-ce docker-ce-cli docker-ce-rootless-extras docker-buildx-plugin docker-compose-plugin containerd.io; do sudo apt remove $pkg; done

Instale los paquetes necesarios para la instalación de Docker:

sudo apt install ca-certificates curl gnupg lsb-release -y

Añada la clave GPG oficial de Docker:

sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Añada el repositorio de Docker a las fuentes de APT:

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Actualice la lista de paquetes e instale Docker Engine, containerd y Docker Compose (cliente):

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

2. Verificación de la instalación de Docker: Asegúrese de que Docker esté instalado y funcionando correctamente ejecutando un contenedor de prueba:

sudo docker run hello-world

Debería ver el mensaje "Hello from Docker!".

3. Añadir usuario al grupo docker (opcional, pero conveniente): Para no usar sudo cada vez que trabaje con Docker, añada su usuario al grupo docker. Reemplace your_user con el nombre de su usuario en el VPS.

sudo usermod -aG docker your_user

Después de ejecutar este comando, deberá salir de la sesión SSH y volver a conectarse para que los cambios surtan efecto.

Ahora su VPS está listo para el despliegue de Wiki.js utilizando Docker Compose. Este enfoque hace que la instalación de Wiki.js sea sencilla y reproducible, lo cual es muy importante para cualquier aplicación self-hosted.

rocket_launch Elección rápida

¿Buscas un servidor que simplemente funcione?

Valebyte VPS — NVMe, soporte 24/7, despliegue en 60 segundos.

Ver planes VPS arrow_forward

Instalación paso a paso de Wiki.js en un VPS utilizando Docker Compose

El uso de Docker Compose es el método más recomendado y eficiente para la instalación de Wiki.js en un VPS. Permite definir todos los servicios (Wiki.js, base de datos) y su configuración en un único archivo YAML, simplificando el despliegue y la gestión. Utilizaremos PostgreSQL como base de datos, lo cual es una elección óptima para Wiki.js en un servidor.

Configuración del archivo docker-compose.yml

Cree un directorio para su proyecto Wiki.js y acceda a él:

mkdir wiki-js
cd wiki-js

Cree el archivo docker-compose.yml:

nano docker-compose.yml

Pegue el siguiente contenido. Asegúrese de reemplazar your_wiki_db_password por una contraseña segura para su base de datos y your_wiki_host por el nombre de dominio a través del cual estará accesible su Wiki.js (por ejemplo, wiki.yourdomain.com). Si aún no ha configurado un dominio, puede usar la dirección IP del VPS.

version: "3.5"

services:
  wiki:
    image: ghcr.io/requarks/wiki:2
    container_name: wiki-js
    restart: unless-stopped
    environment:
      DB_TYPE: postgres
      DB_HOST: db
      DB_PORT: 5432
      DB_USER: wiki
      DB_PASS: your_wiki_db_password # Reemplace con su contraseña segura
      DB_NAME: wiki
      # URL de su Wiki.js. Importante para el correcto funcionamiento de enlaces y redirecciones.
      # Reemplace con su dominio o dirección IP si no tiene un dominio.
      WIKI_HOSTNAME: your_wiki_host 
      WIKI_PORT: 3000 # Puerto dentro del contenedor
      # WIKI_BASE_URL: https://your_wiki_host # Si usa un subdirectorio, por ejemplo, /wiki/
    ports:
      - "3000:3000" # Si desea acceso directo sin proxy, de lo contrario el puerto será proxyficado
    volumes:
      - ./data/wiki:/wiki/data
    depends_on:
      - db

  db:
    image: postgres:13-alpine
    container_name: wiki-db
    restart: unless-stopped
    environment:
      POSTGRES_USER: wiki
      POSTGRES_PASSWORD: your_wiki_db_password # Debe coincidir con DB_PASS anterior
      POSTGRES_DB: wiki
    volumes:
      - ./data/db:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U wiki -d wiki"]
      interval: 10s
      timeout: 5s
      retries: 5

volumes:
  wiki_data:
  db_data:

Explicaciones del archivo:

  • version: "3.5": Especifica la versión del archivo Docker Compose.
  • services:: Define los servicios.
    • wiki:
      • image: ghcr.io/requarks/wiki:2: Utiliza la imagen oficial de Wiki.js del GitHub Container Registry.
      • container_name: wiki-js: Nombre del contenedor.
      • restart: unless-stopped: El contenedor se reiniciará automáticamente a menos que se haya detenido manualmente.
      • environment:: Variables de entorno para configurar Wiki.js y la conexión a la base de datos.
      • ports: - "3000:3000": Mapea el puerto 3000 del contenedor al puerto 3000 del host. Si utiliza un proxy inverso, este puerto no será directamente accesible desde el exterior, pero es necesario para la comunicación interna.
      • volumes: - ./data/wiki:/wiki/data: Monta el directorio ./data/wiki del host en el contenedor para almacenar los datos de Wiki.js (imágenes, archivos, etc.).
      • depends_on: - db: Indica que el servicio wiki depende del servicio db y se iniciará después de este.
    • db:
      • image: postgres:13-alpine: Utiliza la imagen oficial de PostgreSQL versión 13 (versión ligera alpine).
      • container_name: wiki-db: Nombre del contenedor de la base de datos.
      • environment:: Variables para configurar PostgreSQL (usuario, contraseña, nombre de la base de datos).
      • volumes: - ./data/db:/var/lib/postgresql/data: Monta el directorio ./data/db del host para el almacenamiento persistente de los datos de la base de datos.
      • healthcheck:: Comprobación de estado de la base de datos para que Wiki.js no intente conectarse a una base de datos aún no lista.

Inicio de Wiki.js y configuración inicial

Después de guardar el archivo docker-compose.yml, puede iniciar Wiki.js y PostgreSQL con un solo comando:

docker compose up -d

La clave -d significa "detached mode", es decir, los contenedores se iniciarán en segundo plano.

Verifique el estado de los contenedores en ejecución:

docker compose ps

Debería ver ambos contenedores (wiki-js y wiki-db) en estado "running".

Configuración inicial de Wiki.js:

Ahora Wiki.js debería estar accesible a través de la dirección IP de su VPS en el puerto 3000 (por ejemplo, http://your_vps_ip_address:3000). Abra esta dirección en su navegador. Verá la página de configuración inicial de Wiki.js.

  1. Selección de la base de datos: En el primer paso, asegúrese de que "PostgreSQL" esté seleccionado.
  2. Datos de conexión a la BD: Introduzca los mismos datos que especificó en docker-compose.yml:
    • Host: db (nombre del servicio de la base de datos en Docker Compose)
    • Port: 5432
    • Database: wiki
    • User: wiki
    • Password: your_wiki_db_password
    Haga clic en "Connect".
  3. Configuración del administrador: Después de una conexión exitosa a la BD, se le pedirá que cree una cuenta de administrador. Introduzca un nombre de usuario, una dirección de correo electrónico y una contraseña segura. ¡Recuerde estos datos!
  4. Finalización de la instalación: Una vez creado el administrador, Wiki.js estará listo para usar. Será redirigido a la página principal de su nueva wiki.

En este punto, la instalación de Wiki.js está completa. Sin embargo, para un uso seguro y conveniente en producción, es necesario configurar un proxy inverso con HTTPS. Hablaremos de esto en la siguiente sección. Si desea obtener más información sobre el despliegue de otras aplicaciones self-hosted, consulte nuestro artículo sobre Linkwarden en un VPS: instalación, configuración y mantenimiento.

Configuración del proxy inverso y HTTPS para Wiki.js

El acceso directo a Wiki.js a través del puerto 3000 (por ejemplo, http://your_vps_ip_address:3000) no es una solución segura ni profesional para un entorno de producción. Debe configurar un proxy inverso (Reverse Proxy) y asegurar el cifrado del tráfico mediante HTTPS. Esto no solo aumentará la seguridad, sino que también hará que su sitio sea más confiable a los ojos de los motores de búsqueda y los usuarios. Cubriremos la configuración utilizando Nginx y Caddy.

Antes de comenzar, asegúrese de tener un nombre de dominio que apunte a la dirección IP de su VPS (registros A y/o AAAA).

Configuración de Nginx como proxy inverso

Nginx es un servidor web potente y de alto rendimiento que es excelente para el papel de proxy inverso. Es estable, fácil de configurar y ampliamente utilizado.

1. Instalación de Nginx:

sudo apt install nginx -y

2. Configuración de Nginx para Wiki.js: Cree un nuevo archivo de configuración para su dominio. Reemplace wiki.yourdomain.com con su nombre de dominio real.

sudo nano /etc/nginx/sites-available/wiki.yourdomain.com

Pegue el siguiente contenido:

server {
    listen 80;
    listen [::]:80;
    server_name wiki.yourdomain.com; # Reemplace con su dominio

    # Redirección de HTTP a HTTPS (se configurará después de obtener el certificado)
    return 301 https://$host$request_uri; 
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name wiki.yourdomain.com; # Reemplace con su dominio

    ssl_certificate /etc/letsencrypt/live/wiki.yourdomain.com/fullchain.pem; # Ruta a su certificado
    ssl_certificate_key /etc/letsencrypt/live/wiki.yourdomain.com/privkey.pem; # Ruta a su clave privada

    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

    location / {
        proxy_pass http://127.0.0.1:3000; # Puerto en el que Wiki.js está disponible dentro del VPS
        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_request_buffering off;
        proxy_redirect off;

        # WebSocket support
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
    }
}

3. Activación de la configuración y verificación de la sintaxis:

sudo ln -s /etc/nginx/sites-available/wiki.yourdomain.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

4. Instalación de Certbot para HTTPS (Let's Encrypt): Certbot obtendrá y renovará automáticamente los certificados SSL de Let's Encrypt.

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d wiki.yourdomain.com

Siga las instrucciones de Certbot. Actualizará automáticamente su configuración de Nginx, añadiendo las rutas a los certificados y configurando la redirección de HTTP a HTTPS.

Después de esto, su Wiki.js estará accesible en https://wiki.yourdomain.com.

Uso de Caddy para HTTPS automático

Caddy es un servidor web moderno que gestiona automáticamente los certificados SSL de Let's Encrypt, lo que lo hace muy conveniente para el despliegue. Para un contenedor Wiki.js Docker, Caddy puede ser una solución más sencilla.

1. Instalación de Caddy:

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

2. Configuración de Caddyfile: Cree o edite el archivo /etc/caddy/Caddyfile:

sudo nano /etc/caddy/Caddyfile

Borre su contenido e inserte lo siguiente, reemplazando wiki.yourdomain.com por su dominio:

wiki.yourdomain.com { # Reemplace con su dominio
    reverse_proxy 127.0.0.1:3000 { # Puerto en el que Wiki.js está disponible dentro del VPS
        header_up Host {host}
        header_up X-Real-IP {remote_ip}
        header_up X-Forwarded-For {remote_ip}
        header_up X-Forwarded-Proto {scheme}
        # WebSocket support
        header_up Upgrade {http.request.header.Upgrade}
        header_up Connection {http.request.header.Connection}
    }

    # Habilitar compresión Gzip (opcional)
    encode gzip

    # Registro (opcional)
    log {
        output file /var/log/caddy/access.log
    }
}

3. Verificación e inicio de Caddy:

sudo caddy validate
sudo systemctl reload caddy

Caddy obtendrá automáticamente un certificado SSL de Let's Encrypt e iniciará su sitio con HTTPS. Su Wiki.js estará accesible en https://wiki.yourdomain.com.

Ambas opciones de proxy inverso proporcionan acceso seguro a su instalación Wiki.js self-hosted. La elección entre Nginx y Caddy depende de sus preferencias y experiencia. Caddy suele elegirse por su simplicidad, mientras que Nginx por su flexibilidad y amplias opciones de configuración. Recuerde que para un funcionamiento estable de cualquiera de estos sistemas se requiere una cantidad suficiente de memoria y recursos de CPU que asigne a su VPS. Para monitorizar estos indicadores, la instalación de Netdata en un VPS puede ser útil.

Mantenimiento de Wiki.js en el servidor: copias de seguridad, actualizaciones y monitorización

El despliegue de Wiki.js en un VPS es solo el principio. Para garantizar un funcionamiento estable, seguro y actualizado de su sistema de gestión del conocimiento, es necesario realizar regularmente tareas de mantenimiento: copias de seguridad, actualizaciones y monitorización. Estos pasos son críticos para cualquier aplicación self-hosted.

Estrategias de copia de seguridad de datos de Wiki.js

La copia de seguridad es la piedra angular de cualquier sistema de producción. En el caso de Wiki.js, que se ejecuta en Docker Compose, debe hacer una copia de seguridad de dos componentes principales:

  1. Base de datos PostgreSQL: Contiene todos los datos de texto de los artículos, metadatos, usuarios y configuraciones.
  2. Directorio de archivos de Wiki.js: Contiene las imágenes cargadas, archivos y otros recursos estáticos que especificó en volumes (por ejemplo, ./data/wiki).

Enfoque de copia de seguridad recomendado:

1. Copia de seguridad de la base de datos PostgreSQL: Utilice la utilidad pg_dump dentro del contenedor PostgreSQL. Esto garantiza la consistencia de los datos.

# Vaya al directorio donde se encuentra su docker-compose.yml
cd ~/wiki-js 

# Ejecute el comando de copia de seguridad dentro del contenedor db
docker compose exec db pg_dump -U wiki wiki > ./backups/wiki_db_$(date +%Y%m%d%H%M%S).sql

Este comando creará un volcado SQL de su base de datos en el directorio ./backups/. Asegúrese de que el directorio backups exista: mkdir -p ./backups.

2. Copia de seguridad de los archivos de Wiki.js: Simplemente copie el directorio con los datos de Wiki.js.

# Vaya al directorio donde se encuentra su docker-compose.yml
cd ~/wiki-js 

# Cree un archivo comprimido del directorio con los archivos de Wiki.js
tar -czvf ./backups/wiki_files_$(date +%Y%m%d%H%M%S).tar.gz ./data/wiki

3. Automatización de las copias de seguridad: Configure una tarea cron para ejecutar estos comandos regularmente. Por ejemplo, para una copia de seguridad diaria a las 03:00 de la madrugada:

crontab -e

Añada la siguiente línea (reemplace /home/your_user/wiki-js con la ruta a su directorio Wiki.js):

0 3 * * * cd /home/your_user/wiki-js && docker compose exec db pg_dump -U wiki wiki > ./backups/wiki_db_$(date +%Y%m%d%H%M%S).sql && tar -czvf ./backups/wiki_files_$(date +%Y%m%d%H%M%S).tar.gz ./data/wiki

4. Almacenamiento de las copias de seguridad: Nunca almacene las copias de seguridad solo en el mismo servidor que el sistema en producción. Muévalas regularmente a un almacenamiento remoto (S3, Dropbox, otro VPS) o a una máquina local. Utilice rsync, scp o utilidades especializadas para almacenamiento en la nube.

Proceso de actualización de Wiki.js y contenedores Docker

Las actualizaciones regulares son importantes para obtener nuevas funciones, correcciones de errores y parches de seguridad. El proceso de actualización de una instalación Wiki.js Docker es relativamente sencillo:

1. Antes de la actualización: Asegúrese de hacer una copia de seguridad completa de la base de datos y los archivos, como se describió anteriormente. Esta es su póliza de seguro en caso de problemas imprevistos.

cd ~/wiki-js
docker compose exec db pg_dump -U wiki wiki > ./backups/wiki_db_pre_update_$(date +%Y%m%d%H%M%S).sql
tar -czvf ./backups/wiki_files_pre_update_$(date +%Y%m%d%H%M%S).tar.gz ./data/wiki

2. Detención de Wiki.js:

docker compose down

3. Actualización de las imágenes Docker: Descargue las últimas versiones de las imágenes de Wiki.js y PostgreSQL:

docker compose pull

Si en docker-compose.yml utiliza etiquetas como :latest o :2 (como en nuestro ejemplo), este comando las actualizará a las versiones más recientes disponibles bajo esa etiqueta. Para PostgreSQL, utilizamos :13-alpine, lo que significa una actualización solo dentro de la versión 13.

4. Inicio de Wiki.js actualizado:

docker compose up -d

Docker Compose recreará los contenedores con las nuevas imágenes, conservando sus datos, ya que están montados en volúmenes del host. Wiki.js realizará automáticamente las migraciones de base de datos necesarias en el primer inicio después de la actualización.

5. Verificación: Después de iniciar, asegúrese de que Wiki.js funciona correctamente y que todos los datos están accesibles.

Monitorización del rendimiento y la seguridad

La monitorización permite identificar a tiempo problemas de rendimiento, seguridad y disponibilidad. Para Wiki.js en un servidor, esto es de vital importancia.

  • Monitorización de recursos del sistema:
    • Utilice las utilidades htop, top, free -h para una visión rápida del uso de CPU, RAM y disco.
    • Para una monitorización más profunda, considere instalar Netdata en un VPS o Prometheus/Grafana.
  • Monitorización de logs de Docker:
    • Revise los logs de los contenedores Wiki.js y PostgreSQL en busca de errores:
      docker compose logs -f wiki
      docker compose logs -f db
  • Monitorización de disponibilidad:
    • Utilice servicios de monitorización externos (por ejemplo, UptimeRobot, Healthchecks.io) que verificarán la disponibilidad de su dominio y le notificarán en caso de fallos.
  • Seguridad:
    • Actualice regularmente el sistema operativo, Docker y las propias imágenes Docker.
    • Utilice contraseñas complejas y únicas para todas las cuentas, especialmente para el administrador de Wiki.js y la base de datos.
    • Configure el firewall (UFW) para restringir el acceso a los puertos.
    • Considere el uso de Fail2Ban para protegerse contra ataques de fuerza bruta en SSH y Nginx/Caddy.
    • Si su Wiki.js contiene información confidencial, considere la posibilidad de utilizar 2FA para las cuentas administrativas, si es compatible con Wiki.js o su sistema de autenticación.

Una atención cuidadosa al mantenimiento garantizará que su Wiki.js self-hosted sea una plataforma fiable y segura para la gestión del conocimiento durante muchos años.

rocket_launch Elección rápida

¿Buscas un servidor que simplemente funcione?

Valebyte VPS — NVMe, soporte 24/7, despliegue en 60 segundos.

Ver planes VPS arrow_forward

Qué VPS elegir para Wiki.js: recomendaciones de configuración para carga real

La elección del VPS adecuado para Wiki.js es un factor clave para garantizar el rendimiento, la estabilidad y la escalabilidad de su base de conocimientos. Una configuración incorrecta puede provocar un funcionamiento lento, fallos frecuentes y una frustración general de los usuarios. Analizaremos cómo evaluar las necesidades y propondremos configuraciones específicas.

Evaluación de necesidades: desde un equipo pequeño hasta un portal corporativo

Para elegir el VPS óptimo, es necesario comprender claramente quién y cómo utilizará Wiki.js:

  1. Número de usuarios:
    • Equipo pequeño (hasta 10 personas): Uso principal: visualización de contenido, edición ocasional.
    • Equipo mediano (10-50 personas): Uso activo, visualizaciones frecuentes, edición regular por varios usuarios simultáneamente.
    • Organización grande (más de 50 personas): Carga elevada, muchos usuarios simultáneos, operaciones intensivas de lectura/escritura, posiblemente integraciones con otros sistemas.
  2. Volumen de contenido:
    • Varias decenas de artículos, sin muchas imágenes: requisitos mínimos.
    • Cientos de artículos, muchas imágenes, archivos adjuntos: se requiere más espacio en disco y RAM para el almacenamiento en caché.
    • Miles de artículos, una extensa mediateca: requerirá recursos significativos, especialmente para la base de datos y el almacenamiento de archivos.
  3. Frecuencia de uso:
    • Se utiliza varias veces al día: se pueden usar recursos mínimos.
    • Se utiliza constantemente durante la jornada laboral: requiere un rendimiento estable.
    • Cargas pico (por ejemplo, después de un anuncio masivo): es importante tener un margen de CPU y RAM.
  4. Servicios adicionales en el VPS:
    • ¿Planea alojar otras aplicaciones en el mismo VPS (por ejemplo, Gitea, Firefly III o un servidor de correo)? Si es así, los requisitos generales de recursos aumentarán significativamente.

Tabla comparativa de configuraciones de VPS recomendadas

La siguiente tabla presenta recomendaciones para elegir un VPS para Wiki.js en un VPS, dependiendo de la carga prevista. Los precios son orientativos y pueden variar entre diferentes proveedores.

Escenario de uso vCPU RAM (GB) SSD (NVMe) Ancho de banda Precio estimado/mes Características
Personal / Equipo pequeño (hasta 10 usuarios) 1-2 1-2 20-40 GB 100 Mbps $5 - $15 Solución económica para empezar. Suficiente para tareas básicas.
Equipo mediano (10-50 usuarios) 2-4 4-8 80-160 GB 1 Gbps $15 - $40 Equilibrio óptimo entre rendimiento y coste. Maneja bien la edición simultánea.
Organización grande (más de 50 usuarios) 4-8+ 8-16+ 200-500+ GB 1-10 Gbps $40 - $100+ Alto rendimiento para uso intensivo. Posibilidad de escalabilidad.

Recomendaciones adicionales al elegir un VPS:

  • Tipo de disco: Siempre elija un VPS con NVMe SSD. Esto es crucial para el rendimiento de la base de datos y la velocidad de carga de las páginas. La diferencia de velocidad en comparación con los SSD o HDD normales es enorme.
  • Ubicación del servidor: Elija un centro de datos que esté geográficamente más cerca de la mayoría de sus usuarios. Esto reducirá la latencia.
  • Ancho de banda: Asegúrese de que el proveedor ofrezca un ancho de banda suficiente. Para la mayoría de las instalaciones de Wiki.js, un canal de 1 Gbps será más que suficiente, pero para organizaciones muy grandes con muchos archivos multimedia, puede que se requiera más.
  • Monitorización: Elija un proveedor que ofrezca herramientas de monitorización convenientes para el uso de recursos del VPS.
  • Managed vs Self-managed: Si no tiene experiencia en la administración de servidores, considere la opción de un VPS gestionado (Managed VPS), donde el proveedor se encarga de parte de las tareas de mantenimiento del SO. Sin embargo, esto será más caro. Puede leer más al respecto en el artículo Self-managed vs Managed VPS en 2026: ¿qué elegir?.

Recuerde que siempre es mejor comenzar con una configuración que supere ligeramente sus necesidades mínimas actuales para tener un margen de crecimiento. La mayoría de los proveedores de VPS permiten escalar fácilmente los recursos (CPU, RAM, disco) según sea necesario, por lo que siempre podrá actualizar su plan si su Wiki.js comienza a experimentar escasez de recursos.

Conclusiones

El despliegue de Wiki.js en un VPS utilizando Docker Compose representa una solución eficiente y fiable para crear una potente base de conocimientos self-hosted. Siguiendo esta guía, podrá realizar una instalación completa de Wiki.js, configurar un acceso seguro a través de un proxy inverso con HTTPS y garantizar el mantenimiento a largo plazo del sistema, incluyendo copias de seguridad y actualizaciones. Para la mayoría de los equipos, la elección óptima será un VPS con 2-4 vCPU, 4-8 GB de RAM y 80-160 GB de NVMe SSD, lo que asegurará un funcionamiento estable y un margen suficiente para el crecimiento de su contenido y 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 →

Compartir esta publicación:

support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.