Deploy Chamilo LMS | Open Source Moodle Alternative
Self-host Chamilo e-learning platform. Courses, quizzes, certs & more
Chamilo
Just deployed
/var/www/html
MariaDB
Just deployed
/var/lib/mysql
Deploy and Host Chamilo LMS on Railway
Deploy Chamilo LMS on Railway to get a fully managed e-learning platform running in minutes. Self-host Chamilo LMS with this template that pre-configures Chamilo 1.11 with a MariaDB database, persistent storage for courses and uploads, and a public HTTPS domain — ready for the built-in installation wizard.
Chamilo is an open-source learning management system focused on ease of use, accessibility, and low resource consumption. It powers online courses, corporate training programs, and academic institutions across 180+ countries.
Getting Started with Chamilo LMS on Railway
Once the deployment completes, open the public URL to access the Chamilo installation wizard. Select your language, then enter the MariaDB connection details: host is MariaDB.railway.internal, port 3306, database user chamilo, and the password set in your MariaDB environment variables. Set the database name to chamilo.
Create your administrator account with a strong password during the wizard. After installation completes, log in to the admin panel to configure your portal name, timezone, and default language. Your first action should be creating a course — navigate to Create a course from the dashboard to start building your curriculum.
About Hosting Chamilo LMS
Chamilo LMS is a free, open-source e-learning and content management system maintained by the Chamilo Association. It provides a complete platform for creating and delivering online courses, managing learners, tracking progress, and issuing certificates.
- Course authoring with SCORM, xAPI, and LTI support for content interoperability
- 20+ quiz question types including multiple choice, fill-in-the-blank, matching, and drag-and-drop
- Learning analytics with detailed progress tracking, course completion rates, and participation metrics
- Gamification with points, badges, and leaderboards to drive learner engagement
- Video conferencing integration with BigBlueButton and OpenMeetings for virtual classrooms
- Skills management and certificate generation based on completed training paths
- GDPR-compliant with European privacy and security standards built in
The template deploys two services: the Chamilo PHP/Apache application server and a MariaDB 10.11 database for storing courses, user data, and learning records.
Why Deploy Chamilo LMS on Railway
- One-click infrastructure with managed MariaDB and persistent volumes
- HTTPS enabled by default with Railway's TLS-terminating proxy
- Scale vertically by adjusting Railway service resources as your learner base grows
- No server administration — Railway handles containers, networking, and storage
- Full data ownership with self-hosted deployment
Common Use Cases for Self-Hosted Chamilo LMS
- Corporate training platforms — onboard employees, track compliance training, and manage skill development programs
- Academic institutions — deliver blended learning courses with quizzes, assignments, and grade books
- Certification programs — build learning paths that automatically issue certificates on completion
- Non-profit education — provide free or low-cost e-learning to underserved communities with minimal infrastructure costs
Dependencies for Chamilo LMS on Railway
- Chamilo —
ipeos/chamilo:1.11(Chamilo 1.11.28, PHP 7.4, Apache) - MariaDB —
mariadb:10.11(relational database for courses, users, and learning records)
Environment Variables Reference for Chamilo LMS
| Variable | Service | Description |
|---|---|---|
PORT | Chamilo | HTTP listening port (80) |
PHP_MEMORY_LIMIT | Chamilo | PHP memory allocation |
PHP_UPLOAD_MAX_FILESIZE | Chamilo | Maximum upload file size |
MYSQL_DATABASE | MariaDB | Database name |
MYSQL_USER | MariaDB | Database user |
MYSQL_PASSWORD | MariaDB | Database password |
Deployment Dependencies
- Runtime: PHP 7.4, Apache 2.4, MariaDB 10.11
- Docker Hub: ipeos/chamilo, mariadb
- GitHub: chamilo/chamilo-lms
- Docs: Chamilo Documentation
Hardware Requirements for Self-Hosting Chamilo LMS
| Resource | Minimum | Recommended |
|---|---|---|
| CPU | 1 vCPU | 2 vCPU |
| RAM | 512 MB | 2 GB |
| Storage | 1 GB | 10 GB+ |
| Runtime | PHP 7.4+, MariaDB 10.x | PHP 7.4+, MariaDB 10.11 |
Chamilo is lightweight compared to alternatives like Moodle. A basic installation with under 100 users runs comfortably on 512 MB RAM. Scale storage based on course content volume — video-heavy courses require significantly more disk space.
Self-Hosting Chamilo LMS with Docker
Pull the official community Docker image and run Chamilo with a MariaDB database:
docker run -d --name chamilo-db \
-e MYSQL_ROOT_PASSWORD=rootpass \
-e MYSQL_USER=chamilo \
-e MYSQL_PASSWORD=chamilopass \
-e MYSQL_DATABASE=chamilo \
-v chamilo_db:/var/lib/mysql \
mariadb:10.11
docker run -d --name chamilo \
--link chamilo-db:mysql \
-p 8080:80 \
-v chamilo_data:/var/www/html \
ipeos/chamilo:1.11
Access http://localhost:8080 and complete the installation wizard. Enter mysql as the database host (the linked container alias), chamilo as the user, and chamilopass as the password.
Is Chamilo LMS Free to Self-Host?
Chamilo LMS is 100% free and open-source under the GNU/GPLv3 license. There are no licensing fees, user limits, or feature restrictions. The Chamilo Association also offers Chamilo Pro — a hosted version with professional support for organizations that prefer managed hosting. When self-hosting on Railway, your only cost is the infrastructure usage on your Railway plan.
Chamilo LMS vs Moodle for Self-Hosting
| Feature | Chamilo LMS | Moodle |
|---|---|---|
| Ease of use | 10/10 (minimal clicks) | 7.7/10 (steeper curve) |
| Resource usage | Lightweight (~512 MB RAM) | Heavier (~2 GB RAM minimum) |
| Course authoring | 9.2/10 | 8.0/10 |
| Plugin ecosystem | Moderate | Very large |
| SCORM/xAPI | Full support | Full support |
| License | GNU/GPLv3 | GNU/GPLv3 |
| Market share | 1% | 7.4% |
Chamilo is the better choice for organizations that prioritize ease of use and low resource consumption. Moodle offers a larger plugin ecosystem and community but requires more server resources and administrative expertise.
FAQ
What is Chamilo LMS and why should you self-host it? Chamilo is an open-source learning management system focused on ease of use and accessibility. Self-hosting gives you full control over your data, no user limits, and the ability to customize the platform to your organization's needs.
What does this Railway template deploy for Chamilo LMS?
This template deploys two services: the Chamilo PHP/Apache application server (ipeos/chamilo:1.11) and a MariaDB 10.11 database. Both services include persistent volumes for data durability across redeployments.
Why does Chamilo LMS need a MariaDB database on Railway? Chamilo stores all course content, user accounts, learning records, quiz results, and certificates in a relational database. MariaDB provides the MySQL-compatible storage engine that Chamilo requires.
How do I configure Chamilo LMS after deploying on Railway?
After deployment, visit the public URL to access the installation wizard. Enter MariaDB.railway.internal as the database host, port 3306, user chamilo, and the password from your MariaDB environment variables. The wizard handles database table creation and initial configuration.
Can I migrate an existing Chamilo installation to Railway?
Yes. Export your existing MariaDB database with mysqldump, import it into the Railway MariaDB service, and copy your /var/www/html directory contents to the Chamilo volume. Update the database connection details during the installation wizard to point to the new MariaDB service.
How do I enable BigBlueButton video conferencing in self-hosted Chamilo? After installation, navigate to Administration > Plugins and enable the BigBlueButton plugin. Configure the BBB server URL and shared secret in the plugin settings. Note that BigBlueButton itself requires a separate server with UDP support — it cannot run on Railway.
Template Content
Chamilo
ipeos/chamilo:1.11MariaDB
mariadb:10.11