Ejecuta Learnio 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 requisitosDescarga tu plantilla
Abre Mis plantillas y descarga el ZIP de Learnio de tu paquete.
Resultado esperado: En tus descargas aparece un archivo con un nombre como
learnio-lms-main-….zip.Descomprime y abre la carpeta
Extrae el ZIP y abre una terminal en la carpeta
learnio-lms. En Windows, extráelo en el Explorador de archivos y luego abre una terminal en la carpeta.Terminalunzip learnio-lms-*.zip cd learnio-lmsResultado esperado: La carpeta contiene
¿Tienes problemas?admin-dashboard,back-end,frontendydocker-compose.yml.Inicia las aplicaciones
Construye e inicia la API, el sitio para estudiantes y el panel de administración. El primer inicio construye tres imágenes y llena la base de datos con los datos de demostración, lo que tarda unos minutos; los inicios posteriores tardan segundos.
Terminalenlearnio-lmsdocker compose up --build¿Un puerto ya está en uso?
Si el arranque se detiene con
Un puerto ya está en usoports are not available ... address already in use, otro programa usa el 3030, el 3031 o el 8000. Detenlo, o crea un archivo llamado.enven la carpetalearnio-lmscon el puerto que necesitas, por ejemploADMIN_PORT=3041(SITE_PORTpara el sitio para estudiantes,API_PORTpara la API). Ejecuta de nuevodocker compose up --buildy abre la aplicación en su nuevo puerto.Resultado esperado: Los tres servicios siguen en ejecución y el registro deja de desplazarse. Deja esta terminal abierta.
¿Tienes problemas?Abre el sitio para estudiantes
Abre localhost:3030Local e inicia sesión como el estudiante de demostración:
demo@learnio.comcon la contraseñaDemo@123.Resultado esperado: El catálogo se carga y, al iniciar sesión, se abre el panel del estudiante.
¿Tienes problemas?Inicia sesión en el panel de administración
Abre localhost:3031Local. El superadministrador es
admin@learnio.comcon la contraseñaAdmin@123. Cámbiala después de iniciar sesión por primera vez.Resultado esperado: El panel de administración se abre en su vista general.
¿Tienes problemas?
Haz un recorrido
Así se ven los datos de demostración cuando todo está en marcha: el sitio para estudiantes con su catálogo, abierto en un curso.

| Cuenta | Correo electrónico | Contraseña |
|---|---|---|
| Superadministrador | admin@learnio.com | Admin@123 |
| Instructor | emily-davis@learnio.com | Teach@123 |
| Estudiante | demo@learnio.com | Demo@123 |
Hay once cuentas más del personal en *@learnio.com con la contraseña admin123, cada una con un rol distinto, para que veas los permisos desde dentro. Son solo cuentas de demostración locales.
Detén e inicia de nuevo
Pulsa Ctrl+C en la terminal para detener las aplicaciones, o ejecuta esto desde la carpeta learnio-lms. Tus datos se conservan en el volumen learnio-data.
learnio-lmsdocker compose downVuelve a iniciar con el mismo comando del paso 3. Sin --build, reutiliza las imágenes que ya construiste.
learnio-lmsdocker compose upConserva tus datos
docker compose down -v también elimina 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 se pierde.
Ejecuta el sitio para estudiantes
Este paquete es el sitio para estudiantes por sí solo. Funciona con sus datos de ejemplo incluidos hasta que lo conectes a una API de Learnio. La API es un paquete aparte y no está en esta descarga.
Descarga tu plantilla
Abre Mis plantillas y descarga el ZIP del sitio para estudiantes.
Descomprime y abre la carpeta
Terminalunzip frontend-*.zip cd frontendResultado esperado: La carpeta tiene un
Dockerfiley unpackage.json.Construye la imagen
Los valores
NEXT_PUBLIC_*se compilan en el JavaScript que carga el navegador, por lo que son argumentos de construcción. Omítelos para usar los datos de ejemplo; para usar tu propia API, pasa su dirección.Terminalenfrontenddocker build -t learnio-site .Con tu propia API:
Terminalenfrontenddocker build -t learnio-site --build-arg NEXT_PUBLIC_API_BASE_URL=https://api.your-domain.com/api --build-arg NEXT_PUBLIC_SITE_URL=https://your-domain.com .Inícialo
Si el puerto
3030está ocupado, cambia el número a la izquierda de-p, por ejemplo-p 3041:3030, y abre ese puerto.Terminalenfrontenddocker run -p 3030:3030 learnio-siteResultado esperado: localhost:3030Local abre el sitio. Sin una API, un aviso "Sample data" al pie de la página lo indica.
¿Tienes problemas?
Ejecuta el panel de administración
Este paquete es el panel de administración por sí solo. Sin API funciona con una simulación en el navegador: puedes iniciar sesión y recorrerlo, pero la mayoría de las pantallas quedan vacías hasta que conectes una API de Learnio. La API es un paquete aparte y no viene en esta descarga.
Descarga tu plantilla
Abre Mis plantillas y descarga el ZIP del panel de administración.
Descomprime y abre la carpeta
Terminalunzip admin-dashboard-*.zip cd admin-dashboardResultado esperado: La carpeta tiene un
Dockerfiley unpackage.json.Construye la imagen
Sin argumentos de construcción, el panel usa su simulación. Para usar tu propia API, pasa su dirección, su dirección WebSocket (el mismo servidor sin
/api) y la dirección del sitio para estudiantes.Terminalenadmin-dashboarddocker build -t learnio-admin .Con tu propia API:
Terminalenadmin-dashboarddocker build -t learnio-admin --build-arg NEXT_PUBLIC_API_BASE_URL=https://api.your-domain.com/api --build-arg NEXT_PUBLIC_WEBSOCKET_BASE_URL=https://api.your-domain.com --build-arg NEXT_PUBLIC_SITE_URL=https://your-domain.com .Inícialo e inicia sesión
Si el puerto
3031está ocupado, cambia el número a la izquierda de-p, por ejemplo-p 3041:3031, y abre ese puerto.Terminalenadmin-dashboarddocker run -p 3031:3031 learnio-adminResultado esperado: localhost:3031Local abre el formulario de inicio de sesión, ya rellenado con
¿Tienes problemas?admin@learnio.comyAdmin@123. Con la simulación, cualquier correo y contraseña te permiten iniciar sesión como superadministrador.
Ejecuta la API
Este paquete es la API de NestJS por sí sola, con un archivo SQLite guardado en un volumen de Docker. El sitio para estudiantes y el panel de administración son paquetes aparte y no están en esta descarga.
Descomprime y crea el archivo de entorno
.env.examplefunciona tal cual para una ejecución local.Terminalunzip back-end-*.zip cd back-end cp .env.example .envConstruye la imagen
Terminalenback-enddocker build -t learnio-api .Iníciala con los datos de demostración
Una base de datos nueva tiene las tablas vacías, a menos que pidas los datos de demostración. El volumen conserva la base de datos entre ejecuciones. Si el puerto
8000está ocupado, cambia el número a la izquierda de-p, por ejemplo-p 8010:8000, y usa esa dirección: tus frontends deben apuntar entonces ahttp://localhost:8010/api.Terminalenback-enddocker run -p 8000:8000 -v learnio-data:/data -e SEED_DEMO_DATA=true --env-file .env learnio-apiResultado esperado: localhost:8000/api/healthLocal responde con el estado
¿Tienes problemas?ok.
Si no tienes un JWT_SECRET propio, o usas el del ejemplo, el contenedor genera un secreto y lo guarda en el volumen.