Requisitos
Qué instalar antes de ejecutar tu paquete, con Docker o sin él.
Para el paquete Full Stack
Qué contiene cada paquete
| Paquete | Aplicaciones en la descarga | Funciona por sí solo |
|---|---|---|
| Full Stack | API y panel | Sí, los dos juntos |
| Panel | Panel | Sí, con datos de ejemplo integrados hasta que conectes la API de la plantilla |
| Backend | API | Sí, solo sirve la API |
Un paquete de una sola aplicación no incluye la otra. El panel puede usar una API que ya tengas en marcha, pero el código de la API solo está en los paquetes Full Stack y Backend.
Con Docker
- Docker Desktop en macOS o Windows, o Docker Engine con el plugin de Compose en Linux. El paquete Full Stack se inicia con un solo comando
docker compose. - Una conexión a internet para la primera construcción, que descarga las imágenes base y las dependencias.
- Nada más: Docker incluye Node.js, y la base de datos es un archivo SQLite dentro de un volumen de Docker.
Con Docker
- Docker Desktop en macOS o Windows, o Docker Engine en Linux. Tu aplicación tiene su propio
Dockerfile; no necesitas Compose. - Una conexión a internet para la primera construcción, que descarga la imagen base y las dependencias.
Sin Docker
- Node.js 22.9 o más reciente para el panel y el Full Stack:
yarn devyyarn startdel panel usan la opción--env-file-if-existsde Node, que llegó en la 22.9. La API sola necesita Node.js 22 o más reciente. Las imágenes de Docker también usan Node.js 22. - Yarn 4, mediante Corepack. Ejecuta
corepack enableuna vez; cada aplicación fija Yarn 4.8.1, así queyarnelige la versión correcta. Si tu Node.js no tiene Corepack, instálalo primero connpm install -g corepack. - Ningún paquete global.
Base de datos
Ningún servidor de base de datos. La API usa SQLite por defecto y yarn seed crea el archivo por ti; Docker también usa SQLite. MySQL se admite con un cambio de configuración, no de código.
Puertos
Cada aplicación escucha en un puerto local fijo. Asegúrate de que nada más los use o, con Docker, mueve uno con DASHBOARD_PORT o API_PORT en un .env junto a docker-compose.yml.
| Aplicación | Puerto |
|---|---|
| API | 8000 |
| Panel | 3030 |
Puerto
El panel escucha en el puerto 3030, o en el PORT de su .env. Asegúrate de que nada más lo use.
Puerto
La API escucha en el puerto 8000, o en el PORT de su .env. Asegúrate de que nada más lo use.
Una API a la que conectarse
No hace falta nada para probar el panel: funciona con sus propios datos de ejemplo. Para usar datos reales, necesita la API de la plantilla en marcha, cuya dirección indicas en su .env. La API se vende como un paquete propio.
Servicios opcionales
Nada de esto hace falta para ejecutar Kinora en local. Cada uno se activa con sus claves en back-end/.env, y una clave que se deja con su valor de .env.example cuenta como no configurada.
| Servicio | Sin él |
|---|---|
| Cloudflare R2 u otro bucket compatible con S3 | El panel sirve las imágenes de demostración desde su propia carpeta public/assets. Subir una nueva foto de perfil, una foto de progreso o un adjunto responde 400 con "File storage is not configured on this server". |
| Una clave de Google Gemini, OpenAI o DeepSeek | La página del asistente de IA dice "No AI model is connected". Todas las demás pantallas funcionan. |
Un MCP_API_KEY propio | Se rechaza cada petición a POST /api/mcp, la ruta que usa un agente de programación. |
La plantilla no incluye transporte de correo ni proveedor de pagos: no se envía ningún correo, las páginas de contraseña olvidada y de restablecer contraseña son solo las pantallas (no se envía ningún restablecimiento), y la tarjeta de facturación muestra cifras de los datos de demostración.