Skip to the article
Aniq-UI

LearnioRun Learnio locally

Run Learnio locally

Install and start each app with Node.js and Yarn, one terminal per app.

For the Full Stack package

Before you start: install Node.js 22 or 24 and run corepack enable once. No database server is needed.

View requirements

Open every terminal where the commands below expect it: inside learnio-lms for the full stack, or next to the app's folder for a single-app package.

AppFolderAddress
APIback-endlocalhost:8000Local
Student sitefrontendlocalhost:3030Local
Admin dashboardadmin-dashboardlocalhost:3031Local

Start the API first: both frontends read all of their data from it.

Start the API

  1. Install and configure

    .env.example works as it is for local development. yarn install ends with "Done with warnings", which is expected; a real failure ends with "Failed with errors".

    Terminal
    corepack enable
    cd back-end
    yarn install
    cp .env.example .env
    Having trouble?
  2. Create the database

    yarn seed creates database.sqlite, its tables and the demo data. Running it again adds nothing new.

    Terminalin back-end
    yarn seed
  3. Start the server

    Terminalin back-end
    yarn dev

    Expected result: localhost:8000/api/healthLocal answers with a status of ok.

    Having trouble?

Start the student site

In a second terminal:

  1. Install and configure

    Terminal
    cd frontend
    yarn install
    cp .env.example .env
  2. Start it

    Terminalin frontend
    yarn dev

    Expected result: localhost:3030Local opens the site in English; Arabic is at /ar.

    Having trouble?

The API is not part of this package. Without one, the site runs on its bundled sample data and a "Sample data" notice at the bottom of the page says so. Point NEXT_PUBLIC_API_BASE_URL at a Learnio API when you have one.

Configuration

Start the admin dashboard

In a third terminal:

  1. Install and configure

    Terminal
    cd admin-dashboard
    yarn install
    cp .env.example .env
  2. Start it and sign in

    Terminalin admin-dashboard
    yarn dev

    Expected result: localhost:3031Local opens the sign-in form. The super admin is admin@learnio.com with the password Admin@123.

    Having trouble?

The API is not part of this package. Without one, an in-browser mock answers sign-in and the students, staff, roles, categories, settings and notifications screens, and any email and password sign you in as the super admin. Your changes are kept in the browser's storage. The other screens show their error state until an API is connected.

Configuration

Start over with fresh demo data

Stop the API, then delete the database file and seed it again. This deletes everything you created.

Terminalin back-end
rm -f database.sqlite && yarn seed

In PowerShell:

Terminalin back-end
Remove-Item database.sqlite; yarn seed

Next

Was this helpful?

Checked against the 2026-10-07 release

Stuck on a step?

Find a fix before you start over.

Troubleshooting

Cookie Preferences

We use cookies to enhance your browsing experience, analyze site traffic, and personalize content. By clicking "Accept All", you consent to our use of cookies for analytics and personalized advertising.