Installing Frappe Learning
Frappe Learning can be deployed either on Frappe Cloud for a fully managed experience or self-hosted on your own infrastructure. Choose the installation method that best fits your requirements.
Installation Options
- Managed Hosting using Frappe Cloud
- Production Self-Hosting
- Docker Development Environment
- Local Bench Development Setup
Managed Hosting (Frappe Cloud)
The fastest way to start using Frappe Learning is through Frappe Cloud, which handles deployment, updates, backups, SSL certificates, and infrastructure management.
Getting Started
- Create a Frappe Cloud account.
- Deploy a new Learning instance with a single click.
- Your LMS will be ready within a few minutes.
If you already have a Frappe Cloud site, you can install Learning directly from the Frappe Cloud Marketplace.
Frappe Cloud is the recommended deployment option for production environments as it eliminates infrastructure management and provides automatic updates, backups, monitoring, and security.
Self Hosting
Organizations that prefer complete control over their infrastructure can deploy Frappe Learning on their own servers.
Production Installation
The easiest way to deploy a production-ready Learning instance is by using the official installation script.
Step 1 — Download the Installer
wget https://frappe.io/easy-install.py
Step 2 — Deploy Learning
python3 ./easy-install.py deploy \
--project=learning_prod_setup \
--email=your_email.example.com \
--image=ghcr.io/frappe/lms \
--version=stable \
--app=lms \
--sitename subdomain.domain.tld
Required Parameters
- your_email.example.com — Administrator email address.
- subdomain.domain.tld — Domain where the Learning instance will be hosted.
The installer automatically provisions a production-ready deployment, including all required services and configurations, typically within five minutes.
If deploying on a public server, ensure your DNS A record points to the server’s IP address. For local deployments, map your domain to 127.0.0.1 in the /etc/hosts file to avoid “404 Page Not Found” errors.
Development Installation
For development and testing, Frappe Learning can be installed using Docker or Bench.
Docker Setup
Prerequisites
- Docker
- Docker Compose
- Git
Step 1 — Download Required Files
mkdir frappe-learning
cd frappe-learning
wget -O docker-compose.yml https://raw.githubusercontent.com/frappe/lms/develop/docker/docker-compose.yml
wget -O init.sh https://raw.githubusercontent.com/frappe/lms/develop/docker/init.sh
Step 2 — Start the Containers
docker compose up -d
Step 3 — Open Learning
After the containers start successfully, open:
http://lms.localhost:8000/lms
Default Login Credentials
Username: Administrator
Password: admin
Change the default administrator password immediately after the first login.
Local Development (Bench)
If you are contributing to Frappe Learning or building custom features, you can install it locally using Bench.
Installation Steps
- Create a frappe-bench directory by following the Frappe Framework installation guide.
- Start the development server using
bench start. - Create a new site with
bench new-site learning.test. - Map the site locally using
bench --site learning.test add-to-hosts. - Download the Learning application using
bench get-app https://github.com/frappe/lms. - Install the application using
bench --site learning.test install-app lms. - Open
http://learning.test:8000/lmsin your browser.
Which Installation Method Should You Choose?
| Deployment Option | Best For |
|---|---|
| Frappe Cloud | Production deployments with managed infrastructure. |
| Production Self-Hosting | Organizations managing their own servers. |
| Docker | Quick local testing and development. |
| Bench | Application development and contributions. |
Frappe Learning offers flexible deployment options ranging from one-click managed hosting on Frappe Cloud to fully self-hosted production installations and local development environments using Docker or Bench. Choose the option that best matches your operational and development requirements.