Instalar NocoDB en un hosting Node.js

Instalar NocoDB en un hosting Node.js

NocoDB se ha convertido en una herramienta indispensable dentro del stack de automatizaciones que nos ofrece N8N.

NocoDB es realmente una alternativa self hosted o autoinstalable a Airtable, que es la más conocida en el mundo NOCODE.

La forma fácil de definir NocoDB es como una "especie de capa amigable" que se pone por delante de PostgreSQL para hacerla más amigable, aunque NocoDB puede guardar los datos en PostgreSQL, MySQL, MariaDB o SQLite.

Las principales ventajas de NocoDB y la razón por la que se ha hecho tan popular es porque es instalable en tu propio servidor o hosting y además se integra muy bien con herramientas de automatización que siguen la filosofía NOCODE como por ejemplo Make.com o N8N.

Para instalar NocoDB en un hosting Node.js de Raiola Networks debemos entrar a la terminal SSH mediante el puerto 11022.

Si necesitas ayuda para entrar por SSH a tu hosting NodeJS puedes seguir el siguiente manual: https://raiolanetworks.com/ayuda/acceder-ssh-hosting-elastico/

Antes de nada debemos irnos a cPanel y buscar la opción "Setup Node.js App". Puedes verla en la siguiente captura de pantalla:

setup node.js app cpanel

Ahora podremos ver algo similar a esto que puedes ver en la siguiente pantalla:

cpanel  setup node.js app

Pulsamos el botón "Create application" marcado en rojo en la captura anterior.

Esto hará que nos aparezca un formulario similar a esto:

create application nodejs app cpanel

Los campos deberías rellenarlos de la siguiente forma:

  • Node.js version: Configura la versión 20 o superior, en este caso yo he configurado la 22.

  • Application mode: Configuramos "Production".

  • Application root: Configuramos la carpeta donde vamos a instalar NocoDB, en este caso la carpeta del dominio principal "nocodb".

  • Application URL: En este caso, lo vamos a instalar en un subdominio que hemos añadido previamente. Ten en cuenta que, si quieres instalar NocoDB en un dominio o subdominio, debes añadirlo previamente al plan de hosting y apuntarlo a la carpeta, en este caso "nocodb".

  • Application startup file: Por el momento lo dejamos aquí.

Con todo esto, pulsamos el botón "Create" que hay arriba a la derecha y que hemos marcado en rojo en la captura de pantalla anterior.

Esto nos llevará a una pantalla similar a esta:

aplicacion nodejs

No es posible configurar una aplicación Node.js en cPanel en la carpeta "public_html" del dominio principal".

Lo siguiente que debemos hacer es entrar mediante la terminal SSH a la carpeta donde queremos instalar NocoDB. Para esto podemos utilizar el comando que nos proporciona cPanel para acceder al entorno virtual, la que puedes ver en la captura de pantalla anterior.

acceder a entorno virtual cpanel

Aunque también podemos copiar el comando para entrar al entorno virtual que podemos ver en la captura de pantalla anterior, tras la creación de la aplicación Node.js.

Ahora ejecutamos el comando para inicializar la aplicación:

npm init -y

Esto creará un archivo package.json para la nueva aplicación.

Ahora vamos a ejecutar el siguiente comando para instalar el gestor de paquetes pnpM:

npm install pnpm

Ahora vamos a ejecutar el comando para instalar NocoDB en Node.js:

npm install nocodb

Si todo ha ido bien, al finalizar, podras ejecutar un "npm fix":

npm audit fix --force

Y ahora vamos a ejecutar el siguiente comando para que se instalen todas las dependencias y el login configure correctamente la ruta de su API:

npm install

En la carpeta elegida se han descargado los archivos necesarios, incluido el package.json:

archivos carpeta node.js

Ahora debemos editar el archivo app.js utilizando el File Manager de cPanel que puedes ver en la captura anterior. Borramos todo su contenido e insertamos el siguiente contenido:

process.env.NC_BINARY_BUILD = "true";

(async () => {
try {
const express = require("express");
const app = express();
const { Noco } = require("nocodb");
const port = process.env.PORT || 8080;
const httpServer = app.listen(port, () => {
console.log(`Server is running on port ${port}`);
});

// Initialize NocoDB
app.use(await Noco.init({}, httpServer, app));

// Define root route
app.get('/', (req, res) => {
  res.redirect('/dashboard');
});

console.log(`Visit: http://localhost:${port}/dashboard`);

} catch (e) {
console.error(e);
}
})();

Quedaría algo similar a esto:

editar app.js

Ahora debemos dirigirnos a la interfaz de cPanel, concretamente a "Setup Node.js app":

reiniciar nodejs app cpanel

Debemos reiniciar la aplicación Node.js pulsando sobre el icono de reinicio que hemos marcado en rojo en la imagen anterior.

Ahora, vamos a acabar creando un nuevo archivo .htaccess en la carpeta de la aplicación, en la raíz:

.htaccess nocodb

Este archivo .htaccess debe estar vacío, pero es suficiente para deshacernos del error 404 que te has encontrado si has accedido al navegador web, ya que el hosting escribirá en él las reglas necesarias para que NocoDB funcione y podamos acceder al dashboard:

login nocodb

A partir de aquí el proceso es el de la configuración inicial de NocoDB, ya que debemos crear una cuenta de "Super Admin" utilizando el usuario (email) y la contraseña que nosotros queramos, y tras crearse la cuenta, tendremos acceso a la interfaz web de NocoDB:

dashboard nocodb hosting nodejs

Como puedes ver, en un hosting NodeJS podemos instalar N8N y también instalar NocoDB, con esto, ya tendremos la mayor parte del stack self-hosted que la mayoría de la gente que inicia en el mundo de las automatizaciones utiliza.

Si eres cliente de hosting Node.js o hosting Code de Raiola Networks y tienes problemas para instalar NocoDB en él, contacta con nuestro departamento de soporte técnico a cualquier hora y te ayudaremos.

Álvaro Fontela

Álvaro Fontela

Consultor WordPress, además de CEO y cofundador de Raiola Networks. Autor del libro "Curso Práctico de WordPress" y speaker en congresos de marketing digital.

Autor