Skip to content
intermediate25 min7 steps

Getting Started with LearnHouse: Build Your First Open-Source LMS

Learn how to deploy LearnHouse locally, configure the admin panel, and create your first course module using this open-source alternative to Teachable.

By AI Indigo Team

1

Prerequisites: Environment Setup

Before diving into the installation, ensure your development environment is ready. LearnHouse is built on modern web technologies, primarily utilizing Next.js for the frontend and Python/FastAPI for the backend. You will need Docker and Docker Compose installed on your machine, as this is the recommended method for local development and production deployment. Additionally, ensure you have Git installed to clone the repository. If you are planning to use the AI features, you will need an OpenAI API key ready. Navigate to your terminal and verify your installations by running `docker --version` and `git --version`. This foundational setup ensures that when we pull the container images, your system can handle the orchestration without dependency conflicts.

Pro Tip

Ensure your Docker daemon has at least 4GB of RAM allocated, as the development environment can be resource-intensive.

2

Clone and Configure the Repository

Start by cloning the official LearnHouse repository from GitHub. Run the command `git clone https://github.com/learnhouse/learnhouse.git` in your terminal. Once cloned, navigate into the directory with `cd learnhouse`. The project uses environment variables for configuration. Copy the example environment file to create your local configuration: `cp .env.example .env`. Open the `.env` file in your preferred code editor. You will see several variables, including those for the database connection, secret keys, and AI provider settings. For a local test, you can usually leave the defaults, but if you intend to use the AI summarization or quiz generation features, insert your OpenAI API key into the `OPENAI_API_KEY` field. Proper configuration here is critical; incorrect secrets will prevent the backend from starting.

Pro Tip

Never commit your `.env` file to version control. Always add it to your `.gitignore` to keep your API keys secure.

3

Launch the Application with Docker

With the configuration in place, you can now spin up the entire stack. Run the command `docker compose up -d`. This command pulls the necessary images for the frontend, backend, and database (PostgreSQL) and starts them in detached mode. The first run may take a few minutes as it downloads the layers. You can monitor the progress by running `docker compose logs -f`. Once the logs show that the services are healthy, the application is ready. LearnHouse typically serves the frontend on port 3000. Open your browser and navigate to `http://localhost:3000`. You should see the LearnHouse landing page. If you encounter a connection error, check the logs for database connection timeouts, which are common if the database container hasn't fully initialized yet.

Pro Tip

If the database fails to connect, try restarting the containers with `docker compose restart db` and wait for it to initialize fully before accessing the UI.

4

Initialize the Admin Dashboard

Since this is a fresh installation, you need to create the first administrator account. Navigate to the registration page at `http://localhost:3000/register`. Enter your details. The first user registered is automatically granted 'Admin' privileges, which is crucial for managing the platform's core settings. After registering, log in with your new credentials. You will be redirected to the Admin Dashboard. This dashboard is the control center for your LMS. Here, you can manage users, configure platform-wide settings, and oversee course creation. Take a moment to explore the sidebar menu. Familiarize yourself with the 'Users' section to see how the initial admin account is structured. This role-based access control is fundamental to how LearnHouse manages permissions for teachers and students.

Pro Tip

Save your admin credentials in a secure password manager immediately, as you will need them to access the admin panel for all subsequent steps.

5

Create Your First Course

Now, let's build actual content. From the Admin Dashboard, click on 'Courses' and then 'Create New Course'. You will be prompted to enter a title, description, and thumbnail image. This course will serve as the container for your modules. After creating the course, you will enter the course editor. Here, you can add 'Chapters' or 'Modules'. Click 'Add Chapter' to create a new unit within the course. For this tutorial, create a chapter titled 'Introduction to LearnHouse'. This step mirrors traditional LMS structures, allowing you to organize content logically. Remember that the structure you define here will be visible to students, so keep it intuitive. Once the chapter is created, you can begin adding specific activities like text pages, videos, or quizzes.

Pro Tip

Use clear, descriptive titles for chapters to help students navigate the course hierarchy easily later on.

6

Add Content and AI Features

Inside your new chapter, click 'Add Activity'. Select 'Page' to create a text-based lesson. You can use the rich text editor to write your content. If you have configured your OpenAI API key in Step 2, look for the AI integration buttons. You can use the AI to generate quiz questions based on the text you just wrote. Click the 'Generate Quiz' button associated with the page. The system will send the content to the LLM and return a set of multiple-choice questions. This demonstrates the power of LearnHouse as an AI-native LMS. Review the generated questions for accuracy and publish the activity. This workflow significantly speeds up content creation, turning static text into interactive learning experiences with minimal effort.

Pro Tip

Always review AI-generated content for factual accuracy before publishing it to students, as LLMs can occasionally hallucinate details.

7

Publish and Test as a Student

Once you are satisfied with your course structure and content, you need to make it available. In the course editor, toggle the visibility setting to 'Public' or assign it to specific users if you are in a private mode. To test the student experience, open an incognito browser window. Log in with a different account (you can create a test student account via the Admin panel) or simply view the public course link if it is published. Navigate through the course you just built. Click through the chapters and attempt the AI-generated quiz. This final step is crucial for quality assurance. It allows you to verify that the progression logic works correctly and that the content displays as intended on the user-facing side. Congratulations, you have successfully deployed and populated your own LMS!

Pro Tip

Use an incognito window to clear any cached admin session data, ensuring you see the interface exactly as a new student would.

🔥Stay ahead of the AI curve

Never Miss a Breakthrough AI Tool

Get the hottest AI tools, exclusive tutorials, and insider tips delivered to your inbox every Friday. Free forever.

🔒 No spam, unsubscribe anytime. We respect your inbox.

0+
AI Tools
0+
Free Tools
Weekly
Updates