Ir al artículo
Aniq-UI

NorthstackEjecuta Northstack en local

Ejecuta Northstack en local

Pon en marcha tu paquete en tu equipo, con Docker.

Para el paquete Full Stack

Antes de empezar: instala y abre Docker Desktop, o Docker Engine con Compose.

Ver los requisitos
  1. Descarga tu plantilla

    Abre Mis plantillas y descarga el ZIP de tu paquete.

    Resultado esperado: En tus descargas hay un archivo con un nombre como northstack-full-stack-….zip.

  2. Descomprime y abre la carpeta

    Abre una terminal donde esté el ZIP, extráelo y entra en la carpeta northstack-full-stack. En Windows, puedes extraerlo en el Explorador de archivos y abrir después una terminal en la carpeta.

    Terminal
    unzip -q northstack-full-stack-*.zip
    cd northstack-full-stack
    ls

    Resultado esperado: La carpeta contiene back-end, dashboard, website y docker-compose.yml, junto a README.md, QUICKSTART.md y LICENSE.md.

    ¿Tienes problemas?
  3. Inicia las aplicaciones

    Construye e inicia la API, el sitio web público y el panel de espacios de trabajo. No hace falta configurar nada antes. El primer inicio construye tres imágenes y carga en la base de datos los espacios de trabajo de ejemplo, lo que tarda unos minutos; los siguientes inicios tardan segundos.

    Terminalen northstack-full-stack
    docker compose up --build

    ¿Un puerto ya está en uso?

    Si el inicio se detiene con ports are not available, address already in use o port is already allocated, otro programa usa el 3030, el 3031 o el 8000. Detén ese programa, o crea un archivo llamado .env en la carpeta northstack-full-stack, junto a docker-compose.yml, con el puerto que necesites, como ADMIN_PORT=3041 (SITE_PORT para el sitio web, API_PORT para la API). Ejecuta de nuevo docker compose up --build y abre la aplicación en su nuevo puerto.

    Un puerto ya está en uso

    Resultado esperado: Los tres servicios siguen en ejecución y el registro deja de desplazarse. Deja esta terminal abierta.

    ¿Tienes problemas?
  4. Abre el sitio web público

    Abre localhost:3030Local. El inglés está en /en y el árabe en /ar. El sitio web no tiene cuentas propias: sus botones de demostración en vivo abren el inicio de sesión del panel.

    Resultado esperado: El sitio web se abre en su página de inicio. La página de precios vende las dos licencias con el pago propio del sitio, que no cobra a nadie hasta que la API tenga claves de pago.

    ¿Tienes problemas?
  5. Inicia sesión en el panel

    Abre localhost:3031Local. Inicia sesión con owner@northstack.example y la contraseña NorthstackDemo26!. Todas las cuentas de ejemplo usan esa contraseña; cámbialas antes de que la pila sea accesible desde internet.

    Resultado esperado: El panel se abre en el resumen del espacio de trabajo de Forma Studio, con sus proyectos, el uso de este mes, el gráfico de actividad de los proyectos y la lista de lanzamiento.

    ¿Tienes problemas?

Haz un recorrido

Cómo se ve el espacio de trabajo de ejemplo cuando todo funciona.

CuentaCorreo electrónicoDónde
Propietario de Forma Studio: todas las páginas y acciones del espacio de trabajo, la facturación, la matriz de roles y la eliminación del espacio; también administrador de Monogramowner@northstack.examplePanel
Administrador: proyectos, equipo e invitaciones, ajustes del espacio de trabajo, claves de API y el registro de actividad; los roles solo en lectura, sin facturaciónadmin@northstack.examplePanel
Miembro: proyectos y tareas, y el asistente; el equipo, los roles y los ajustes en lectura, sin facturaciónmember@northstack.examplePanel
Facturación: la suscripción, los cambios de plan y las facturas; el equipo, los roles y los ajustes en lectura; sin proyectos (el resumen también los omite) y sin asistentebilling@northstack.examplePanel
Administrador de la plataforma: todas las organizaciones, usuarios, miembros del personal, roles de plataforma y ajustesplatform@northstack.examplePanel
Soporte: todas las páginas de la plataforma en solo lectura, y exportación de informessupport@northstack.examplePanel

Todas las cuentas inician sesión con la contraseña NorthstackDemo26!. Son solo cuentas de demostración locales: en un servidor, empieza vacío con SEED_SAMPLE_DATA=false y tu propio administrador de la plataforma (Empezar vacío).

Los datos de ejemplo añaden Forma Studio con el plan Pro, con 12 proyectos y sus tableros de tareas, 8 miembros, 2 invitaciones abiertas, tres facturas, una clave de API, la actividad de las últimas semanas y tres conversaciones anteriores con el asistente, y un segundo espacio de trabajo, Monogram, al que el propietario cambia desde el selector de espacios. Tras la administración de la plataforma hay 732 organizaciones en total, así que cada lista y cada cifra se ven llenas. Una cuenta nueva creada en la página de registro pasa por el alta inicial y crea su propio espacio de trabajo.

Detén e inicia de nuevo

Pulsa Ctrl+C en la terminal para detener las aplicaciones, o ejecuta esto desde la carpeta northstack-full-stack. Tus datos, la base de datos y los archivos subidos, se conservan en el volumen northstack-data.

Terminalen northstack-full-stack
docker compose down

Vuelve a iniciar con el mismo comando del paso 3. Sin --build, reutiliza las imágenes que ya construiste.

Terminalen northstack-full-stack
docker compose up

Conserva tus datos

docker compose down -v también elimina el volumen de datos. El siguiente inicio carga una copia nueva de los espacios de trabajo de ejemplo, y todo lo que creaste desaparece.

Ejecuta el sitio web público

Este paquete es el sitio web público por sí solo. Sin API funciona con sus datos de ejemplo integrados: el formulario de contacto y el pago de licencias responden en tu navegador, y no se envía nada a ninguna parte. Para usar en su lugar la API de Northstack, constrúyelo con la dirección de la API. La API es un paquete aparte y no viene en esta descarga.

  1. Descarga tu plantilla

    Abre Mis plantillas y descarga el ZIP de SaaS Website.

  2. Descomprime y abre la carpeta

    Terminal
    unzip -q northstack-website-*.zip
    cd northstack-website
    ls

    Resultado esperado: La carpeta contiene un Dockerfile, un package.json y la guía QUICKSTART.md.

    ¿Tienes problemas?
  3. Construye la imagen

    Por sí solo, sin API: el NEXT_PUBLIC_API_BASE_URL vacío construye el sitio con sus datos de ejemplo.

    Terminalen northstack-website
    docker build -t northstack-website --build-arg NEXT_PUBLIC_API_BASE_URL= .

    Con la API de Northstack en http://localhost:8000/api y el panel en http://localhost:3031, construye sin argumentos:

    Terminalen northstack-website
    docker build -t northstack-website .

    Con tu propia API y tus propios dominios, los valores NEXT_PUBLIC_* se compilan en el JavaScript que carga el navegador, así que son argumentos de construcción:

    Terminalen northstack-website
    docker build -t northstack-website --build-arg NEXT_PUBLIC_SITE_URL=https://www.your-domain.com --build-arg NEXT_PUBLIC_API_BASE_URL=https://api.your-domain.com/api --build-arg NEXT_PUBLIC_DASHBOARD_URL=https://app.your-domain.com .
    ¿Tienes problemas?
  4. Inícialo

    Si el puerto 3030 está ocupado, cambia el número a la izquierda de -p, por ejemplo -p 3040:3030, y abre ese puerto. Con una API, construye también con NEXT_PUBLIC_SITE_URL=http://localhost:3040, y añade esa dirección al CORS_ORIGIN y al WEBSITE_URL de la API.

    Terminalen northstack-website
    docker run -p 3030:3030 northstack-website

    Resultado esperado: localhost:3030Local abre el sitio web. El inglés está en /en, el árabe en /ar. Si se construyó sin API, un aviso de datos de ejemplo al final de cada página lo indica.

    ¿Tienes problemas?

Con una API en tu equipo, dentro del contenedor localhost es el propio contenedor. El navegador sigue llegando a la API, pero para que el pago y su recibo salgan completos cuando los renderiza el servidor, indica al servidor del sitio web dónde está la API. --add-host hace que host.docker.internal funcione en Linux; Docker Desktop ya lo tiene.

Terminalen northstack-website
docker run -p 3030:3030 -e API_INTERNAL_URL=http://host.docker.internal:8000/api --add-host=host.docker.internal:host-gateway northstack-website

Ejecuta el panel de espacios de trabajo

Este paquete es el panel de espacios de trabajo por sí solo. Sin API funciona con sus datos de ejemplo integrados en tu navegador, donde entra cualquier contraseña. Para usar en su lugar la API de Northstack, constrúyelo con la dirección de la API. La API es un paquete aparte y no viene en esta descarga.

  1. Descarga tu plantilla

    Abre Mis plantillas y descarga el ZIP de Workspace Dashboard.

  2. Descomprime y abre la carpeta

    Terminal
    unzip -q northstack-dashboard-*.zip
    cd northstack-dashboard
    ls

    Resultado esperado: La carpeta contiene un Dockerfile, un package.json y la guía QUICKSTART.md.

    ¿Tienes problemas?
  3. Construye la imagen

    Por sí solo, sin API: el NEXT_PUBLIC_API_BASE_URL vacío construye el panel con sus datos de ejemplo.

    Terminalen northstack-dashboard
    docker build -t northstack-dashboard --build-arg NEXT_PUBLIC_API_BASE_URL= .

    Con la API de Northstack en http://localhost:8000/api (sus actualizaciones en vivo en http://localhost:8000) y el sitio web en http://localhost:3030, construye sin argumentos:

    Terminalen northstack-dashboard
    docker build -t northstack-dashboard .

    Con tu propia API y tus propios dominios, indica las direcciones por las que el navegador llega a ellos:

    Terminalen northstack-dashboard
    docker build -t northstack-dashboard --build-arg NEXT_PUBLIC_API_BASE_URL=https://api.your-domain.com/api --build-arg NEXT_PUBLIC_BASE_URL=https://app.your-domain.com --build-arg NEXT_PUBLIC_WEBSITE_URL=https://www.your-domain.com .
    ¿Tienes problemas?
  4. Inícialo e inicia sesión

    Si el puerto 3031 está ocupado, cambia el número a la izquierda de -p, por ejemplo -p 3041:3031, y abre ese puerto. Con una API, construye también con NEXT_PUBLIC_BASE_URL=http://localhost:3041, añade esa dirección al CORS_ORIGIN de la API y defínela como DASHBOARD_URL y FRONTEND_URL de la API.

    Terminalen northstack-dashboard
    docker run -p 3031:3031 northstack-dashboard

    Resultado esperado: localhost:3031Local abre el formulario de inicio de sesión. Con datos de ejemplo entra cualquier contraseña, y owner@northstack.example abre el espacio de trabajo del propietario. Con una API con datos de ejemplo, inicia sesión con owner@northstack.example y la contraseña NorthstackDemo26!.

    ¿Tienes problemas?

Ejecuta la API

Este paquete es la API NestJS por sí sola, sobre un archivo SQLite guardado en un volumen de Docker, northstack-api-data, con los archivos subidos. El sitio web público y el panel de espacios de trabajo son paquetes aparte y no vienen en esta descarga.

  1. Descarga tu plantilla

    Abre Mis plantillas y descarga el ZIP de API Backend.

  2. Descomprime y abre la carpeta

    Terminal
    unzip -q northstack-backend-*.zip
    cd northstack-backend
    ls

    Resultado esperado: La carpeta contiene un Dockerfile, un docker-entrypoint.sh, un package.json y la guía QUICKSTART.md.

    ¿Tienes problemas?
  3. Construye la imagen

    Terminalen northstack-backend
    docker build -t northstack-api .
    ¿Tienes problemas?
  4. Inícialo con los datos de ejemplo

    Un volumen nuevo se carga una sola vez con los espacios de trabajo de ejemplo y las cuentas de abajo, y cada inicio posterior conserva lo que hay. En un servidor, inícialo vacío con -e SEED_SAMPLE_DATA=false (Empezar vacío). Si el puerto 8000 está ocupado, cambia el número a la izquierda de -p, por ejemplo -p 8010:8000, y añade -e PUBLIC_API_URL=http://localhost:8010 -e PUBLIC_MEDIA_URL=http://localhost:8010/media para que los enlaces que escribe (archivos, descargas de facturas) usen también el nuevo puerto. Tus frontends deberán entonces apuntar a http://localhost:8010/api.

    Terminalen northstack-backend
    docker run -p 8000:8000 -v northstack-api-data:/data northstack-api

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

    ¿Tienes problemas?

Las cuentas de ejemplo son owner@northstack.example, admin@northstack.example, member@northstack.example, billing@northstack.example, platform@northstack.example y support@northstack.example, todas con la contraseña NorthstackDemo26!. Inicia sesión con POST /api/auth/login, o desde un panel de Northstack.

El contenedor acepta el sitio web en http://localhost:3030 y el panel en http://localhost:3031. En otras direcciones, pasa con -e CORS_ORIGIN (ambas, separadas por comas), FRONTEND_URL y DASHBOARD_URL (el panel) y WEBSITE_URL (el sitio web). Pasa tus claves del mismo modo, solo las que necesites:

Terminalen northstack-backend
docker run -p 8000:8000 -v northstack-api-data:/data -e GOOGLE_API_KEY=your-key northstack-api

No pases --env-file .env con una copia de .env.example: define NODE_ENV=development por encima del valor de producción de la imagen, lo que permite que la API cambie el esquema de la base de datos por sí sola en cada inicio. Sin un JWT_SECRET propio, o con el de ejemplo, el contenedor genera un secreto y lo guarda en el volumen, así que los inicios de sesión sobreviven a un reinicio.

Para empezar de nuevo con datos de ejemplo recientes, elimina primero el contenedor (docker rm -f con su nombre) y luego borra el volumen con docker volume rm northstack-api-data.

Siguiente

¿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.