docker-moodle unattended deploy
not another moodle in docker
Moodle is a very popular open source learning management solution (LMS) for the delivery of elearning courses and programs. It’s used not only by universities, but also by hundreds of corporations around the world who provide eLearning education for their employees. Moodle features a simple interface, drag-and-drop features, role-based permissions, deep reporting, many language translations, a well-documented API and more. With some of the biggest universities and organizations already using it, Moodle is ready to meet the needs of just about any size organization.
Site: https://moodle.org/
All environment variables starting MOODLE will be transformed to $CFG and added automatically to the config.php file. Double separates array. Example:
Environment | Moodle Config |
---|---|
MOODLE_dbhost=db | $CFG->dbhost=”db”; |
MOODLE_apacheloguser=2 | $CFG->apacheloguser=2; |
MOODLE_dboptions__dbpersist=false | $CFG->dboptions[‘dbpersist’]=false; |
MOODLE_dboptions__dbsocket=false | $CFG->dboptions[‘dbsocket’]=false; |
If you define MOODLE_admin ($CFG->admin) rename admin directory to MOODLE_admin
In certain circumstances you will want to move the management directory (/admin) to another location (for security or compatibility reasons)
For this you only have to define the environment variable MOODLE_admin with the name with which you want it to be renaming the directory “admin”
The VIRTUAL_HOST and VIRTUAL_PORT variables are used with double functionality.
On the one hand they can be used for the docker with reverse proxy, but they are also used to generate the variable MOODLE_wwwroot ($CFG->wwwroot) together with the environment variable VIRTUAL_URL
MOODLE_wwwroot = $proto://$VIRTUAL_HOST:$VIRTUAL_PORT$VIRTUAL_URL
If the variable MOODLE_sslproxy is defined, $proto is https, else http
In this way, you can use VIRTUAL_URL to publish moodle in any URL, something very useful when you are behind a reverse proxy
$ git clone https://github.com/pvrmza/docker-moodle.git
$ cd docker-moodle
$ cp env_mysql_example .env_mysql
$ cp env_moodle_example .env_moodle
$ docker-compose up -d
/var/moodledata
/var/www/html/theme
/var/www/html/mod
80