Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Failed to load latest commit information.


Sell online courses and digital downloads from your own website.

An open source alternative to Teachable, Thinkific, Podia and the likes.

Website | Documentation | Roadmap

Chat Release License

A modern LMS for everyone

CourseLit is a batteries included learning management system (aka LMS) for everyone. It is an open source alternative to Teachable, Thinkific, Podia, Teachery, LearnDash and the likes.

It comes pre-equipped with all the basic tools you need to efficiently run and administer your online teaching business. Features include course authoring, student management, payment processing (via Stripe), website builder, custom sales pages and analytics (very limited as of now).

Check out this live example to see what you can build with CourseLit. Click here.


1. A real landing page build with CourseLit

Landing page

2. Admin dashboard

courselit lms screenshot


Checkout our documentation for an updated list of features.

Getting started

Visit to use the cloud hosted version. Sign up for a free account to get a 14 days trial period to experience the platform without any restrictions. No credit card required.

To self host CourseLit, follow our official guide.

Deploy with Vercel


The project is organised as a mono-repo. It uses Yarn workspaces for managing the mono-repo.

To set up the development environment, first clone the project on your local machine and cd to its diretory.

Then replace the values in .env file located inside the apps/web folder with your enviroment's configuration.

Now run the following commands from the root directory of the project.

# Install dependencies
yarn install

# Build the packages
yarn build

# Start the app
yarn dev

That's it! Now you can dive into the code base.


CourseLit uses MediaLit as its backend for managing media assets. It is a paid service and you need to have an account on it to store your files in the cloud.

If you do not want to use the cloud hosted version, you can roll your own instance. Add the following config to the .env file to use your own MediaLit instance.


Writing your own widget

You can add additional functionality to your application via building your own widgets. Have a look at this document.

Environment variables

Have a look at the docker-compose.yml file to know what all environment variables are available for you to tweak.