Skip to content

About

A docker setup to create a development environment for Totara Learn

Topics

Resources

Contributing

Stars

61 stars

Watchers

16 watching

Forks

Repository files navigation

Totara Totara Docker Dev: A Totara Development Environment

Release Release Date Issues License

This project aims to provide an easy way to start developing for Totara by providing a Docker setup.

This setup was created and tested extensively on MacOS and Linux. It also works on Windows via WSL2.

Although this project started as a development environment for Totara Learn it can be adapted for use in any other PHP project.

What You Get

  • NGINX as a webserver
  • Apache as a webserver
  • PHP 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2, 8.3, 8.4, 8.5 to test for different versions
  • PostgreSQL (9.3, 9.6, 10, 11, 12, 13, 14, 15, 16, 17, 18),
  • MariaDB (10.2, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.11, 11.4, 11.8),
  • MySQL (5.7, 8.0, 8.4),
  • Microsoft SQL Server (2017, 2019, 2022)
  • NodeJS for building, developing and testing frontend code
  • A PHPUnit and Behat setup to run tests (including Selenium)
  • A MailDev instance to view sent emails
  • Redis for caching and/or session handling
  • ClamAV for antivirus scanning, wired up automatically on PHP 8.4 and 8.5. The clamav container is optional and not started by default - run it explicitly, e.g. tup clamav alongside your usual containers. Scanning turns itself on in the PHP 8.4/8.5 containers once clamd's socket is reachable. On first start clamd downloads its signatures via freshclam, which can take a few minutes before the container is healthy and scanning is active (dev uploads are not blocked meanwhile).
  • XHProf for profiling
  • XDebug installed, ready for debugging with your favorite IDE
  • Excimer installed, for discovering performance problems
  • A Python instance to run the Totara Machine Learning service
  • Optimised for Apple Silicon

Installation & Usage

See the wiki for detailed documentation on installation and usage.

Contribute

Please check out the contributing guide for more information on how you can help us.

About

A docker setup to create a development environment for Totara Learn

Topics

Resources

Contributing

Stars

61 stars

Watchers

16 watching

Forks

Releases

Packages

Used by

Contributors

Languages