Ir al artículo
Aniq-UI

NorthstackEjecuta Northstack en local

Ejecuta Northstack en local

Instala e inicia cada aplicación con Node.js y Yarn, una terminal por aplicación.

Para el paquete Full Stack

Antes de empezar: instala Node.js 22.13 o una versión 22 posterior, o Node.js 24.11 o más reciente, y ejecuta corepack enable una vez (en Node.js 25 y posteriores, que no incluyen Corepack, ejecuta antes npm install -g corepack). No hace falta un servidor de base de datos.

Ver los requisitos

Abre cada terminal donde esperan los comandos de abajo: dentro de northstack-full-stack para el full stack, o junto a la carpeta de la aplicación para el paquete Backend API.

Antes de empezar: instala Node.js 22.9 o más reciente y ejecuta corepack enable una vez (en Node.js 25 y posteriores, que no incluyen Corepack, ejecuta antes npm install -g corepack).

Ver los requisitos

Abre la terminal junto a la carpeta de la aplicación, donde extrajiste el ZIP.

AplicaciónCarpetaDirección
APIback-endlocalhost:8000Local
Panel de espacios de trabajodashboardlocalhost:3031Local
Sitio web públicowebsitelocalhost:3030Local

Inicia primero la API: el panel lee de ella todos sus datos, y el formulario de contacto y el pago de licencias del sitio web la llaman.

Inicia la API

  1. Instala y configura

    .env.example funciona tal cual en tu propio equipo: SQLite en ./database.sqlite, la API en el puerto 8000, y el sitio web (http://localhost:3030) y el panel (http://localhost:3031) con permiso para llamarla.

    Terminal
    corepack enable
    cd back-end
    yarn install
    cp .env.example .env
    ¿Tienes problemas?
  2. Crea la base de datos

    yarn seed crea database.sqlite y sus tablas, los roles y ajustes de la plataforma, el espacio de trabajo de ejemplo Forma Studio (12 proyectos con sus tableros, 8 miembros, 2 invitaciones, una suscripción Pro con tres facturas, una clave de API, la actividad de las últimas semanas y tres conversaciones con el asistente), un segundo espacio de trabajo para su propietario, y 732 organizaciones detrás de las cifras de la plataforma. Termina mostrando las cuentas con las que iniciar sesión. Las fechas siguen el día en que cargas los datos. Si lo ejecutas de nuevo sobre una base de datos que ya tiene cuentas, no añade ninguna cuenta ni espacio de trabajo y devuelve sus permisos a los roles de plataforma integrados.

    Terminalen back-end
    yarn seed
  3. Inicia el servidor

    Terminalen back-end
    yarn dev

    Resultado esperado: localhost:8000/api/healthLocal responde con "status":"ok" y "database":"up".

    ¿Tienes problemas?

Inicia la API

  1. Instala y configura

    .env.example funciona tal cual en tu propio equipo: SQLite en ./database.sqlite, la API en el puerto 8000, y el sitio web (http://localhost:3030) y el panel (http://localhost:3031) con permiso para llamarla.

    Terminal
    corepack enable
    cd northstack-backend
    yarn install
    cp .env.example .env
    ¿Tienes problemas?
  2. Crea la base de datos

    yarn seed crea database.sqlite y sus tablas, los roles y ajustes de la plataforma, el espacio de trabajo de ejemplo Forma Studio (12 proyectos con sus tableros, 8 miembros, 2 invitaciones, una suscripción Pro con tres facturas, una clave de API, la actividad de las últimas semanas y tres conversaciones con el asistente), un segundo espacio de trabajo para su propietario, y 732 organizaciones detrás de las cifras de la plataforma. Termina mostrando las cuentas con las que iniciar sesión. Las fechas siguen el día en que cargas los datos. Si lo ejecutas de nuevo sobre una base de datos que ya tiene cuentas, no añade ninguna cuenta ni espacio de trabajo y devuelve sus permisos a los roles de plataforma integrados.

    Terminalen northstack-backend
    yarn seed
  3. Inicia el servidor

    Terminalen northstack-backend
    yarn dev

    Resultado esperado: localhost:8000/api/healthLocal responde con "status":"ok" y "database":"up".

    ¿Tienes problemas?

Todas las cuentas de ejemplo inician sesión con la contraseña NorthstackDemo26!: owner@northstack.example, admin@northstack.example, member@northstack.example, billing@northstack.example, platform@northstack.example y support@northstack.example.

Inicia el panel de espacios de trabajo

En una segunda terminal:

  1. Instala y configura

    El .env copiado apunta el panel a la API en el puerto 8000 y sus actualizaciones de permisos en vivo al mismo servidor.

    Terminal
    cd dashboard
    yarn install
    cp .env.example .env
  2. Inícialo e inicia sesión

    Terminalen dashboard
    yarn dev

    Resultado esperado: localhost:3031Local abre el formulario de inicio de sesión. Inicia sesión con owner@northstack.example y la contraseña NorthstackDemo26!.

    ¿Tienes problemas?

Inicia el panel de espacios de trabajo

La API no forma parte de este paquete. Por sí solo, el panel funciona con sus datos de ejemplo integrados: inícialo sin un archivo .env.

  1. Instálalo e inícialo con datos de ejemplo

    Sin .env, NEXT_PUBLIC_API_BASE_URL está vacío y cada pantalla responde con los datos de ejemplo en tu navegador.

    Terminal
    corepack enable
    cd northstack-dashboard
    yarn install
    yarn dev

    Resultado esperado: localhost:3031Local abre el formulario de inicio de sesión con un aviso de datos de ejemplo al final. Entra cualquier contraseña: owner@northstack.example abre el espacio de trabajo del propietario, y cada correo de ejemplo abre su rol.

    ¿Tienes problemas?
  2. Conéctalo a la API

    Con la API de Northstack en marcha en http://localhost:8000/api, detén yarn dev, copia los ajustes de ejemplo e inícialo de nuevo. Si tu API funciona en otra parte, define NEXT_PUBLIC_API_BASE_URL (con /api) y NEXT_PUBLIC_WEBSOCKET_BASE_URL (sin ella) en .env con su dirección.

    Terminalen northstack-dashboard
    cp .env.example .env
    yarn dev

    Resultado esperado: Inicia sesión con owner@northstack.example y la contraseña NorthstackDemo26!, que acepta una API con datos de ejemplo. El aviso de datos de ejemplo desaparece.

    ¿Tienes problemas?

Inicia el sitio web público

En una tercera terminal:

  1. Instala y configura

    Cada valor del .env copiado es opcional: apunta el sitio web a la API en el puerto 8000 y al panel en el 3031.

    Terminal
    cd website
    yarn install
    cp .env.example .env
  2. Inícialo

    Terminalen website
    yarn dev

    Resultado esperado: localhost:3030Local abre el sitio web en inglés; el árabe está en /ar.

    ¿Tienes problemas?

Inicia el sitio web público

La API no forma parte de este paquete. Por sí solo, el sitio web funciona con sus datos de ejemplo integrados: inícialo sin un archivo .env.

  1. Instálalo e inícialo con datos de ejemplo

    Sin .env, NEXT_PUBLIC_API_BASE_URL está vacío: el formulario de contacto y el pago de licencias responden en tu navegador y no envían nada.

    Terminal
    corepack enable
    cd northstack-website
    yarn install
    yarn dev

    Resultado esperado: localhost:3030Local abre el sitio web con un aviso de datos de ejemplo al final de cada página; el árabe está en /ar.

    ¿Tienes problemas?
  2. Conéctalo a la API

    Con la API de Northstack en marcha en http://localhost:8000/api, detén yarn dev, copia los ajustes de ejemplo e inícialo de nuevo. Si tu API funciona en otra parte, define NEXT_PUBLIC_API_BASE_URL en .env con su dirección, incluido /api.

    Terminalen northstack-website
    cp .env.example .env
    yarn dev

    Resultado esperado: El aviso de datos de ejemplo desaparece, y el formulario de contacto y el pago llegan a tu API.

    ¿Tienes problemas?

Otros puertos

Sin Docker, los puertos se definen en los archivos. Los scripts dev y start del sitio web en package.json pasan -p 3030; para otro puerto ejecuta yarn next dev -p 3040 (o yarn next start -p 3040 tras yarn build). El panel lee PORT de su .env (PORT=3041), y arranca en el 3031 sin él. Con la API, añade la dirección de un frontend movido al CORS_ORIGIN del .env de la API, y defínela allí como WEBSITE_URL para el sitio web, o como DASHBOARD_URL y FRONTEND_URL para el panel; define el propio NEXT_PUBLIC_SITE_URL o NEXT_PUBLIC_BASE_URL del frontend para que coincida. Para mover la API, define PORT, PUBLIC_API_URL y PUBLIC_MEDIA_URL en su .env con el mismo número, y NEXT_PUBLIC_API_BASE_URL en ambos frontends (también el NEXT_PUBLIC_WEBSOCKET_BASE_URL del panel).

Versión de producción

Las mismas carpetas, construidas una vez y luego iniciadas. Primero configura el .env de la API para producción: con NODE_ENV=production la API nunca cambia las tablas al iniciar, y se niega a iniciar mientras JWT_SECRET esté vacío o siga con el valor de ejemplo, o mientras CORS_ORIGIN esté vacío.

El .env de la API
NODE_ENV=production
JWT_SECRET=paste-the-generated-secret-here
CORS_ORIGIN=http://localhost:3030,http://localhost:3031
FRONTEND_URL=http://localhost:3031
DASHBOARD_URL=http://localhost:3031
WEBSITE_URL=http://localhost:3030
PUBLIC_API_URL=http://localhost:8000
PUBLIC_MEDIA_URL=http://localhost:8000/media

Genera el secreto con node -e "console.log(require('crypto').randomBytes(48).toString('hex'))". Luego, en la carpeta de la API, constrúyela, crea sus tablas una vez con los datos de ejemplo e iníciala. yarn seed:prod es el yarn seed compilado.

Terminal
yarn build
yarn seed:prod
yarn start:prod

En un servidor, empieza vacío

yarn seed:prod carga las cuentas de ejemplo con su contraseña publicada, así que úsalo solo en tu propio equipo. En un servidor ejecuta en su lugar yarn admin:create:prod: las tablas y tu propio administrador de la plataforma, sin datos de ejemplo. Tras una actualización, yarn schema:prod lleva las tablas al nuevo código.

Empezar vacío

Construcción de producción de los frontends

En la carpeta de cada frontend, detén yarn dev, construye una vez e inicia. El sitio web sirve en el 3030 y el panel en el 3031.

Terminal
yarn build
yarn start

Los frontends compilan sus valores NEXT_PUBLIC_* en el momento de la construcción, así que ejecuta yarn build de nuevo tras cambiar .env. Antes de desplegar en cualquier sitio público, lee la guía de despliegue.

Empieza de cero con datos de demostración nuevos

Detén la API, elimina el archivo de la base de datos y vuelve a cargar los datos, en la carpeta de la API. Esto elimina todo lo que creaste.

Terminal
rm -f database.sqlite* && yarn seed

En PowerShell:

Terminal
Remove-Item database.sqlite*; yarn seed

yarn reset vacía todas las tablas y las conserva, y yarn drop elimina todas las tablas; ejecuta yarn seed después de cualquiera de los dos para llenar de nuevo la base de datos. En MySQL, donde no hay un archivo que borrar, empieza de nuevo con:

Terminal
yarn reset
yarn seed

Comandos

TareaAPIPanelSitio web
Instalaryarn installyarn installyarn install
Servidor de desarrolloyarn dev (8000)yarn dev (3031)yarn dev (3030)
Versión de producciónyarn buildyarn buildyarn build
Inicio en producciónyarn start:prodyarn startyarn start
Cargar los datos de ejemployarn seed (compilado: yarn seed:prod)no hace faltano hace falta
Crear o actualizar las tablas, sin datosyarn schema (compilado: yarn schema:prod)no hace faltano hace falta
El primer administrador de la plataforma, sin datos de ejemployarn admin:create (compilado: yarn admin:create:prod)no hace faltano hace falta
Vaciar todas las tablasyarn resetno hace faltano hace falta
Eliminar todas las tablasyarn dropno hace faltano hace falta
Comprobación de tiposparte de yarn buildyarn typecheckyarn typecheck
Lintyarn lintyarn lintyarn lint

Siguiente

¿Te resultó útil?

Revisado con la versión 2026-11-06

¿Te atascaste en un paso?

Busca una solución antes de empezar de nuevo.

Solución de problemas

Preferencias de Cookies

Utilizamos cookies para mejorar tu experiencia de navegación, analizar el tráfico del sitio y personalizar el contenido. Al hacer clic en "Aceptar Todo", consientes nuestro uso de cookies para análisis y publicidad personalizada.