Transfiere tus flujos de trabajo, credenciales y configuraciones de n8n entre entornos Hostinger VPS.

Este artículo explica cómo migrar flujos de trabajo, credenciales y configuraciones del sistema de n8n a una nueva instancia que se ejecute en Hostinger VPS. Mover de manera segura la configuración de n8n asegura que tus datos de flujo de trabajo, configuraciones de base de datos y variables de entorno permanezcan intactos. Puedes realizar esta migración utilizando la transferencia completa de volúmenes de datos o la exportación a través de la interfaz de línea de comandos (CLI).

Antes de empezar

Antes de la migración, verifica la compatibilidad de la configuración del sistema, tipo de base de datos y versión entre la instancia de origen y la de destino.

Verificar compatibilidad de la versión de n8n

La versión de destino de n8n debe ser igual o superior a la versión de origen. No importes flujos de trabajo de una versión más reciente de n8n a una versión anterior, ya que la estructura de datos de los flujos de trabajo, el esquema de credenciales y el comportamiento de los nodos no son compatibles hacia atrás.

Versión de origenVersión de destinoCompatible
1.x1.x (igual o superior)es
1.x0.x (más antiguo)No
0.x1.x

Nota

  • Para verificar la versión de n8n, ejecute en la terminal de origen VPSdocker exec -u node -it <nombre-del-contenedor> n8n --version.

Verificar la base de datos y el almacenamiento

n8n almacena los flujos de trabajo, cuentas de usuario y datos de ejecución en la base de datos conectada. Las configuraciones personalizadas y los datos binarios se encuentran en el directorio del sistema de archivos local (dentro del contenedor en/home/node/.n8n).

Tipo de base de datosUbicación de almacenamientoMétodo de migración
SQLite (predeterminado)n8n Directorio de datosCopia de volumen de Método 1 sobrescribir completamente
PostgreSQLContenedor externo o independienteRequiere estar separado de la transferencia de archivospg_dumpCopia de seguridad y restauración

Atención

  • Para verificar si la instancia de origen está usando PostgreSQL, ejecute en el terminal de la fuente VPSdocker inspect <nombre-del-contenedor> | grep -E "DB_TYPE|DB_POSTGRESDB". Si la salida muestraDB_TYPE=postgresdb, realice una copia de seguridad independiente y restaure la base de datos PostgreSQL.

Manejo de la clave de cifrado

n8n utiliza la cadena de cifrado configurada mediante la variable de entornoN8N_ENCRYPTION_KEYpara proteger las credenciales almacenadas. Si no se define manualmente, esta clave se genera automáticamente en el primer inicio.

Nota

    Solo se importarán correctamente las credenciales cifradas si la instancia de destino utiliza exactamente el mismo valor deN8N_ENCRYPTION_KEY.Si la instancia de destino utiliza una clave de cifrado diferente, use la ruta de exportación descifrada del método 2.
  • comprobar si la instancia de origen tiene una clave de cifrado explícita, ejecutaDok Doc <Condéna-Nem> | en el terminal de VPS fuente Agarra N8N_ENCRYPTION_KEY.

Método 1 – Transmitir los datos completos volume

utilizan este método cuando tanto las instancias de origen como de n8n de destino se despliegan en Hostinger VPS usando el diseño estándar de directorios Hostinger Docker. Este método descubre volúmenes persistentes de Docker, preservando tu flujo de trabajo, cuentas de usuario, historial de ejecuciones y configuración de credenciales.

Paso 1 – Detener dos n8n containers

Para evitar la corrupción de datos o la copia incompleta de archivos, deja de usar tanto el contenedor de origen como el de destino n8n.

  1. iniciar sesión en hPanel y navegar hastaVPSDocker DockerManager.
  2. encontrar el proyecto n8n origen, haz clicGestionar (Gestión)y seleccionaDetener.
  3. Repite esta operación para el proyecto de destino n8n.

Paso 2 – Crear un archivo de respaldo en el origen VPS

Conéctate al origen VPS mediante SSH. Crea un archivo comprimido para el directorio de datos del volumen n8n persistente. Reemplazan8n-XXXX_n8n_datacon el nombre real de tu volumen de origen:

tar -czf /root/n8n-backup.tar.gz -C /var/lib/docker/volumes/n8n-XXXX_n8n_data/_data .

Paso 3 – Transferir el archivo al destino VPS

Desde el terminal del origen VPS, copia de manera segura el archivo al servidor de destino. Reemplaza185.185.185.185con la dirección IP Hostinger VPS de tu destino:

scp /root/n8n-backup.tar.gz root@185.185.185.185:/root/n8n-backup.tar.gz

Paso 4 – Restaurar el archivo

en el destino VPS

Conéctate al destino VPS a través de SSH. Antes de desempaquetar el archivo, vacía completamente la ruta del volumen de destino para evitar conflictos con configuraciones residuales. Reemplazan8n-YYYY_n8n_datacon el nombre de tu volumen de destino:

find /var/lib/docker/volumes/n8n-YYYY_n8n_data/_data/ -mindepth 1 -delete
tar -xzf /root/n8n-backup.tar.gz -C /var/lib/docker/volumes/n8n-YYYY_n8n_data/_data/

Paso 5 – Iniciar el contenedor de destino y verificar

  1. En hPanel, navega al proyecto de destinoVPSDocker Manager (Docker Administrador).
  2. Haz clic enManage (Administrar)y seleccionaStart (Iniciar).
  3. Después de estar en línea, haz clic enOpen (Abrir)para acceder a la interfaz n8n.
  4. Inicia sesión con tus credenciales originales de la fuente.
  5. Revisa tus flujos de trabajo y credenciales para confirmar que toda la transferencia sea correcta.

Atención

  • Mantén el contenedor de origen detenido hasta que la prueba completa de la instancia de destino esté terminada.
  • Después de una migración exitosa, elimina el archivo de respaldo temporal ejecutandorm /root/n8n-backup.tar.gz.

Método 2 – Migrar flujos de trabajo y credenciales a través del CLI

Utiliza este método cuando migres desde implementaciones auto-hospedadas alternativas o proveedores independientes que no permiten compartir volúmenes directamente.

Paso 1 – Exportar flujos de trabajo desde la instancia de origen

Conéctate al servidor de origen mediante SSH. Reemplaza<source-container-name>con el nombre de tu contenedor de origen activo:

docker exec -u node -it <source-container-name> n8n export:workflow --all --output=/home/node/workflows.json
docker cp <source-container-name>:/home/node/workflows.json /root/workflows.json

Paso 2 – Exportar credenciales desde la instancia de origen

Selecciona la opción que coincida con el entorno de destino.

Opción A – Exportar credenciales cifradas

Si tu instancia de destino usa el mismo valor deN8N_ENCRYPTION_KEY, utiliza esta opción:

docker exec -u node -it <source-container-name> n8n export:credentials --all --output=/home/node/credentials.jsondocker cp :/home/node/credentials.json /root/credentials.json

Opción B – Exportar credenciales descifradas

Si tu instancia de destino usa una clave de cifrado diferente, utiliza esta opción:

docker exec -u node -it  n8n export:credentials --all --decrypted --output=/home/node/credentials-decrypted.json
docker cp :/home/node/credentials-decrypted.json /root/credentials-decrypted.json

Nota

  • El archivo exportado descifrado contiene la clave en texto plano. Guárdalo de manera segura, evita enviarlo a través de redes abiertas y elimínalo inmediatamente después de usarlo.

Paso 3 – Transferir archivos al destino VPS

Reemplaza185.185.185.185con la dirección IP de tu destino Hostinger VPS .

Flujo de transferencia:

scp /root/workflows.json root@185.185.185.185:/root/workflows.json

Credenciales de transferencia – Ejecuta el comando que coincida con tu opción de exportación.

Opción A (cifrado):

scp /root/credentials.json root@185.185.185.185:/root/credentials.json

Opción B (descifrado):

scp /root/credentials-decrypted.json root@185.185.185.185:/root/credentials-decrypted.json

Paso 4 – Copiar los archivos exportados al contenedor de destino

Conéctese al SSH de destino VPS. Reemplace<destination-container-name>por el nombre de su contenedor de destino.

Copiar el flujo de trabajo:

docker cp /root/workflows.json <destination-container-name>:/home/node/workflows.json

Copiar credenciales – ejecute el comando que coincida con su opción de exportación.

Opción A (Encriptado):

docker cp /root/credentials.json <destination-container-name>:/home/node/credentials.json

Opción B (Desencriptado):

docker cp /root/credentials-decrypted.json <nombre-del-contenedor-destino>:/home/node/credentials-decrypted.json

Paso 5 – Importar credenciales y flujos de trabajo

Primero importa las credenciales para que los flujos de trabajo importados puedan mapearse automáticamente al ID de credenciales existente.

Opción A (encriptado):

docker exec -u node -it <nombre-del-contenedor-destino> n8n import:credentials --input=/home/node/credentials.json

Opción B (desencriptado):

docker exec -u node -it <nombre-del-contenedor-destino> n8n import:credentials --input=/home/node/credentials-decrypted.json

Luego importa el flujo de trabajo:

docker exec -u node -it <nombre-del-contenedor-destino> n8n import:workflow --input=/home/node/workflows.json

Asignar variables de entorno y probar el flujo de trabajo

Después de completar el Método 2, asigna cualquier variable de entorno a nivel de sistema utilizada por el flujo de trabajo al destino VPS. A través deVPSDocker ManagerManage (Administrar)Environment variables (Variables de entorno)Añádelas.

Para probar cada flujo de trabajo:

  1. a través de hPanel ❯VPSDocker Managern8n contenedorOpen (abrir)Abrir el objetivo n8n UI.
  2. Abrir el flujo de trabajo importado y verificar si todos los nodos tienen advertencias de credenciales o asignaciones faltantes.
  3. Hacer clic enExecute workflow (ejecutar flujo de trabajo)para desencadenar una ejecución de prueba manual.
  4. Verificar si hay errores en la salida de ejecución de cada nodo. Los fallos comunes después de la importación incluyenCredential not found (credencial no encontrada)yWebhook URL mismatch (URL de webhook no coincide). Introducir nuevamente las credenciales según sea necesario, o actualizar la URL de destino del webhook en el servicio de terceros conectado.
  5. Ejecutar nuevamente el flujo de trabajo y confirmar que el registro de ejecución muestra el estado de éxito en todos los nodos.
  6. Solo después de una prueba manual limpia, establecer el interruptor del flujo de trabajo enActive (activo).

Atención

  • No active los flujos de trabajo en masa. Actívelos uno por uno y supervise los registros de ejecución de cada flujo de trabajo.

Desactivar instancia fuente o revertir

Después de completar la migración, conserve la fuente VPS al menos de 24 a 48 horas.

Si encuentra problemas inesperados y necesita revertir:

  1. En el VPS de destino, navegue aVPSDocker Manager (Docker Administrador).
  2. Abra la interfaz de usuario n8n y, en cada flujo de trabajo activo, cambie el interruptor aInactivo (Inactive).
  3. En hPanel, vaya a su fuenteVPSDocker Manager.
  4. Abre tu proyecto n8n original, haz clic en, seleccionaStart (Iniciar).
  5. Haz clic enOpen (Abrir)e inicia sesión, confirmando que la instancia de origen es accesible.
  6. Actualiza cualquier servicio de terceros o endpoint de webhook para que apunte de nuevo a tu dominio o dirección IP original.

Después de una migración exitosa, desactiva:

  1. A través de hPanel ❯VPSDocker ManagerHaz clic en ⋮Stop (Detener)para detener el contenedor n8n de origen.
  2. Dependiendo del método de migración que elijas, elimina los archivos de respaldo temporales de las dos máquinas VPS.
  3. Una vez que confirmes que la migración ha finalizado, elimina el proyecto n8n de origen desde Docker Manager.

Tu flujo de trabajo y configuración de n8n ahora están totalmente disponibles en el nuevo Hostinger VPS.

Recursos adicionales

Fuente: documentación oficial de Hostinger