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 origen | Versión de destino | Compatible |
|---|---|---|
| 1.x | 1.x (igual o superior) | es |
| 1.x | 0.x (más antiguo) | No |
| 0.x | 1.x | Sí |
Nota
- Para verificar la versión de n8n, ejecute en la terminal de origen VPS
docker 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 datos | Ubicación de almacenamiento | Método de migración |
|---|---|---|
| SQLite (predeterminado) | n8n Directorio de datos | Copia de volumen de Método 1 sobrescribir completamente |
| PostgreSQL | Contenedor externo o independiente | Requiere 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 VPS
docker 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 de
- comprobar si la instancia de origen tiene una clave de cifrado explícita, ejecuta
Dok Doc <Condéna-Nem> | en el terminal de VPS fuente Agarra N8N_ENCRYPTION_KEY.
N8N_ENCRYPTION_KEY.Si la instancia de destino utiliza una clave de cifrado diferente, use la ruta de exportación descifrada del método 2.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.
- iniciar sesión en hPanel y navegar hastaVPS❯Docker DockerManager.
- encontrar el proyecto n8n origen, haz clicGestionar (Gestión)y seleccionaDetener.
- 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.gzPaso 4 – Restaurar el archivo
en el destino VPSConé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
- En hPanel, navega al proyecto de destinoVPS❯Docker Manager (Docker Administrador).
- Haz clic enManage (Administrar)y seleccionaStart (Iniciar).
- Después de estar en línea, haz clic enOpen (Abrir)para acceder a la interfaz n8n.
- Inicia sesión con tus credenciales originales de la fuente.
- 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 ejecutando
rm /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.jsonPaso 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.jsonCredenciales 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.jsonOpción B (descifrado):
scp /root/credentials-decrypted.json root@185.185.185.185:/root/credentials-decrypted.jsonPaso 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.jsonCopiar 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.jsonOpción B (Desencriptado):
docker cp /root/credentials-decrypted.json <nombre-del-contenedor-destino>:/home/node/credentials-decrypted.jsonPaso 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.jsonOpción B (desencriptado):
docker exec -u node -it <nombre-del-contenedor-destino> n8n import:credentials --input=/home/node/credentials-decrypted.jsonLuego importa el flujo de trabajo:
docker exec -u node -it <nombre-del-contenedor-destino> n8n import:workflow --input=/home/node/workflows.jsonAsignar 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 deVPS❯Docker Manager❯Manage (Administrar)❯Environment variables (Variables de entorno)Añádelas.
Para probar cada flujo de trabajo:
- a través de hPanel ❯VPS❯Docker Manager❯n8n contenedor❯Open (abrir)Abrir el objetivo n8n UI.
- Abrir el flujo de trabajo importado y verificar si todos los nodos tienen advertencias de credenciales o asignaciones faltantes.
- Hacer clic enExecute workflow (ejecutar flujo de trabajo)para desencadenar una ejecución de prueba manual.
- 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.
- Ejecutar nuevamente el flujo de trabajo y confirmar que el registro de ejecución muestra el estado de éxito en todos los nodos.
- 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:
- En el VPS de destino, navegue aVPS❯Docker Manager (Docker Administrador).
- Abra la interfaz de usuario n8n y, en cada flujo de trabajo activo, cambie el interruptor aInactivo (Inactive).
- En hPanel, vaya a su fuenteVPS❯Docker Manager.
- Abre tu proyecto n8n original, haz clic en⋮, seleccionaStart (Iniciar).
- Haz clic enOpen (Abrir)e inicia sesión, confirmando que la instancia de origen es accesible.
- 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:
- A través de hPanel ❯VPS❯Docker Manager❯Haz clic en ⋮❯Stop (Detener)para detener el contenedor n8n de origen.
- Dependiendo del método de migración que elijas, elimina los archivos de respaldo temporales de las dos máquinas VPS.
- 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
- Documentación oficial de comandos CLI de n8n
- Guía oficial de exportación de credenciales de n8n
- Hostinger VPS: Cómo gestionar tu proyecto Docker
- Cómo usar el terminal del navegador de Hostinger VPS
Fuente: documentación oficial de Hostinger