Sign inSign up

pvrmza/docker-moodle

By pvrmza

•Updated over 3 years ago

not another moodle in docker

Image
0

1.7K

pvrmza/docker-moodle repository overview

⁠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/⁠

⁠Version/TAG:

  • 3.7 (3.7_STABLE 3.7.8 build 20201002)
  • 3.8 (3.8_STABLE 3.8.5+ build 20201002)
  • 3.9 (3.9_STABLE 3.9.2+ build 20201002)

⁠Features

  • All configurations can be added from environment variables to config.php
  • Moodle security recommendations for apache and php
  • Check/move admin directory
  • Timezone and Language setting from enviroment
  • Proxy support and URL setting from enviroment
⁠Config values

All environment variables starting MOODLE_ will be transformed to $CFG and added automatically to the config.php file. Double _ separates array. Example:

EnvironmentMoodle 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;
⁠Check/move admin directory

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"

⁠URL

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

⁠Deploy

⁠Docker Composer
  • Run both database and moodle containers.
  $ 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

⁠Volumen

/var/moodledata
/var/www/html/theme
/var/www/html/mod

⁠Ports

80 

Tag summary

Content type

Image

Digest

Size

273.5 MB

Last updated

about 6 years ago

docker pull pvrmza/docker-moodle