Chamilo LMS — Self-Hosted, Open-Source

Create a virtual campus for the provision of online or semi-online training.

License: GPL-3.0. Built with: PHP, JavaScript, HTML, Vue, Twig, CSS, Go Template, Java, Gherkin, SCSS, Shell, Hack, TypeScript. Website: https://chamilo.org/. Source: https://github.com/chamilo/chamilo-lms.

How to install Chamilo LMS

Most self-hosted apps including Chamilo LMS install through Docker or Docker Compose. The typical workflow is: install Docker on your host, pull the official image (or clone the repository), supply a configuration file with database credentials and storage paths, then start the container. Many homelabbers run Chamilo LMS alongside other self-hosted services behind a reverse proxy like Caddy, Traefik, or nginx-proxy-manager for HTTPS and routing. Check the official repository for the most current instructions.

Why self-host Chamilo LMS

Self-hosting gives you three things SaaS can’t: data ownership (the files live on disks you control), cost predictability (a one-time setup vs. recurring per-seat fees that grow with your household or team), and longevity (open-source means the app keeps working even if the maintainers move on, since you can pin a working version). The trade-off is that you take on the operational work of running a server, applying updates, and handling backups.

Hardware notes

4GB free disk space Chamilo 2.0 has been tested on a 2 vCPUs, 2GB RAM virtual machine under Ubuntu 24.04 and has been shown to work, but to build the development environment, you will need at least 4GB RAM.

Where to go from here

Last verified: 2026-04-21