Ir al artículo
Aniq-UI

KinoraEjecuta Kinora en local

Ejecuta Kinora 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: Un archivo con un nombre como kinora-fitness-full-stack-main-….zip está en tus descargas.

  2. Descomprime y abre la carpeta

    Extrae el ZIP y abre una terminal en la carpeta kinora-fitness-full-stack. En Windows, extráelo en el Explorador de archivos y luego abre una terminal en la carpeta.

    Terminal
    unzip kinora-fitness-full-stack-*.zip
    cd kinora-fitness-full-stack

    Resultado esperado: La carpeta muestra back-end, dashboard y docker-compose.yml.

    ¿Tienes problemas?
  3. Inicia las aplicaciones

    Construye e inicia la API y el panel. No hay que configurar nada antes. El primer inicio construye dos imágenes y llena la base de datos con los datos de demostración, lo que tarda unos minutos; los siguientes inicios tardan segundos.

    Terminalen kinora-fitness-full-stack
    docker compose up --build

    ¿Un puerto ya está en uso?

    Si el arranque se detiene con ports are not available ... address already in use, otro programa usa el 3030 o el 8000. Detenlo, o crea un archivo llamado .env en la carpeta kinora-fitness-full-stack con el puerto que necesites, por ejemplo DASHBOARD_PORT=3040 (API_PORT para la API). Vuelve a ejecutar docker compose up --build y abre el panel en su nuevo puerto.

    Un puerto ya está en uso

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

    ¿Tienes problemas?
  4. Inicia sesión como coach

    Abre localhost:3030Local. El formulario de inicio de sesión viene rellenado con el Head Coach, headcoach@example.com con la contraseña Coach@123. El árabe está en /ar.

    Resultado esperado: Se abre el resumen del coach: la lista de clientes, los clientes que dejaron de dar señales, los check-ins semanales que esperan respuesta y el trabajo asignado para hoy.

    ¿Tienes problemas?
  5. Inicia sesión como miembro

    Cierra sesión y abre localhost:3030/en/auth/login?as=clientLocal. El formulario viene rellenado con el miembro, member@example.com con la contraseña Member@123.

    Resultado esperado: Se abre el resumen del miembro, con anillos, calorías, sueño, frecuencia cardíaca y los entrenamientos de la semana.

    ¿Tienes problemas?

Haz un recorrido

Así se ve la demostración cuando todo funciona.

CuentaCorreo electrónicoContraseñaLo que ve
Head Coachheadcoach@example.comCoach@123Todas las pantallas del personal, con la lista de clientes más completa
Miembromember@example.comMember@123Las páginas de entrenamiento, con el Head Coach como coach
Personal Trainertrainer@example.comTrainer@123Su propia lista de clientes y los catálogos de contenido

Existen once cuentas de personal más en @staff.com con la contraseña staff123, como Coach, Personal Trainer, Gym Manager, Editor o Viewer. Existen más miembros en @example.com con password123. Son solo cuentas de demostración locales: cambia las contraseñas antes de publicar nada.

El formulario de inicio de sesión se rellena solo: /en/auth/login?as=coach (también el predeterminado) para el Head Coach y /en/auth/login?as=client para el miembro.

Detén e inicia de nuevo

Pulsa Ctrl+C en la terminal para detener las aplicaciones, o ejecuta esto desde la carpeta kinora-fitness-full-stack. Tus datos se conservan en el volumen kinora-data.

Terminalen kinora-fitness-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 kinora-fitness-full-stack
docker compose up

Conserva tus datos

docker compose down -v también borra el volumen de la base de datos. El siguiente inicio carga una copia nueva de los datos de demostración, y todo lo que creaste desaparece.

Ejecuta el panel

Este paquete es el panel por sí solo. Sin una API funciona con datos de ejemplo integrados en el navegador: puedes iniciar sesión, registrar un entrenamiento, crear un miembro y editar un rol, y tus cambios se guardan en el navegador. La API es un paquete aparte y no está en esta descarga.

  1. Descarga tu plantilla

    Abre Mis plantillas y descarga el ZIP de Dashboard.

  2. Descomprime y abre la carpeta

    Terminal
    unzip kinora-fitness-dashboard-*.zip
    cd kinora-fitness-dashboard

    Resultado esperado: La carpeta tiene un Dockerfile y un package.json.

    ¿Tienes problemas?
  3. Construye la imagen

    Los valores NEXT_PUBLIC_* se compilan en el JavaScript que carga el navegador, así que son argumentos de construcción. Omítelos para usar los datos de ejemplo; para usar la API de la plantilla, pasa su dirección y su dirección WebSocket (el mismo servidor sin /api).

    Terminalen kinora-fitness-dashboard
    docker build -t kinora-dashboard .

    Con tu propia API:

    Terminalen kinora-fitness-dashboard
    docker build -t kinora-dashboard --build-arg NEXT_PUBLIC_API_BASE_URL=http://localhost:8000/api --build-arg NEXT_PUBLIC_WEBSOCKET_BASE_URL=http://localhost:8000 .
    ¿Tienes problemas?
  4. Inícialo e inicia sesión

    Si el puerto 3030 está ocupado, cambia el número a la izquierda de -p, por ejemplo -p 3040:3030, y abre ese puerto en su lugar.

    Terminalen kinora-fitness-dashboard
    docker run -p 3030:3030 kinora-dashboard

    Resultado esperado: localhost:3030Local abre el formulario de inicio de sesión, rellenado con el Head Coach. Un aviso "Sample data" en la parte inferior indica que no hay ninguna API conectada. Con los datos de ejemplo no se comprueba la contraseña: member@example.com inicia sesión como el miembro, y un correo que los datos de ejemplo no conocen inicia sesión como el Head Coach.

    ¿Tienes problemas?

Ejecuta la API

Este paquete es la API de NestJS por sí sola, con un archivo SQLite guardado en un volumen de Docker. El panel es un paquete aparte y no está en esta descarga.

  1. Descarga tu plantilla

    Abre Mis plantillas y descarga el ZIP de Backend.

  2. Descomprime y crea el archivo de entorno

    .env.example funciona tal cual para una ejecución local. La copia .env es donde irán más adelante tus propias claves.

    Terminal
    unzip kinora-fitness-backend-*.zip
    cd kinora-fitness-backend
    cp .env.example .env
    ¿Tienes problemas?
  3. Construye la imagen

    Terminalen kinora-fitness-backend
    docker build -t kinora-api .
    ¿Tienes problemas?
  4. Inícialo con los datos de demostración

    Un volumen nuevo recibe tablas vacías salvo que pidas los datos de demostración. El volumen conserva la base de datos entre ejecuciones. Si el puerto 8000 está ocupado, cambia el número a la izquierda de -p, por ejemplo -p 8010:8000, y la API responde en http://localhost:8010/api en su lugar.

    Terminalen kinora-fitness-backend
    docker run -p 8000:8000 -v kinora-data:/data -e SEED_DEMO_DATA=true kinora-api

    Resultado esperado: localhost:8000/api/healthLocal responde {"status":"ok"}.

    ¿Tienes problemas?

El contenedor solo lee tu .env cuando añades --env-file .env a docker run; así es como le llegan tus claves de almacenamiento, IA y MCP. Sin un JWT_SECRET propio, o con el del ejemplo, el contenedor genera un secreto y lo guarda en el volumen.

La imagen permite llamadas del navegador desde http://localhost:3030. Para un panel en otra dirección, pasa -e CORS_ORIGIN= y -e FRONTEND_URL= con esa dirección.

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.