https://github.com/totara/totara-docker-dev
A docker setup to create a development environment for Totara Learn
https://github.com/totara/totara-docker-dev
behat docker docker-compose docker-setup docker-sync nginx-container php-container totara
Last synced: 11 days ago
JSON representation
A docker setup to create a development environment for Totara Learn
- Host: GitHub
- URL: https://github.com/totara/totara-docker-dev
- Owner: totara
- License: mit
- Created: 2018-07-31T04:31:48.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2026-01-23T05:13:55.000Z (about 2 months ago)
- Last Synced: 2026-01-23T22:43:59.553Z (about 2 months ago)
- Topics: behat, docker, docker-compose, docker-setup, docker-sync, nginx-container, php-container, totara
- Language: Shell
- Homepage:
- Size: 2.53 MB
- Stars: 61
- Watchers: 16
- Forks: 41
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
README
# [](https://totaralearning.com) _Totara Docker Dev:_ A Totara Development Environment
[](../../releases)
[](../../releases)
[](../../issues)
[](../../LICENCE)
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](https://nginx.org/) as a webserver
* [Apache](https://httpd.apache.org/) as a webserver
* [PHP](http://php.net/) 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](https://www.postgresql.org/) (9.3, 9.6, 10, 11, 12, 13, 14, 15, 16, 17, 18),
* [MariaDB](https://mariadb.org/) (10.2, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.11, 11.4, 11.8),
* [MySQL](https://www.mysql.com/) (5.7, 8.0, 8.4),
* Microsoft SQL Server ([2017](https://www.microsoft.com/en-us/sql-server/sql-server-2017), [2019](https://www.microsoft.com/en-us/sql-server/sql-server-2019), [2022](https://www.microsoft.com/en-us/sql-server/sql-server-2022))
* [NodeJS](https://nodejs.org/) for building, developing and testing frontend code
* A [PHPUnit](https://phpunit.de/) and [Behat](http://behat.org/en/latest/) setup to run tests (including [Selenium](https://www.seleniumhq.org/))
* A [MailDev](https://github.com/maildev/maildev?tab=readme-ov-file#maildev) instance to view sent emails
* [Redis](https://redis.io/) for caching and/or session handling
* [XHProf](https://github.com/tideways/php-xhprof-extension) for profiling
* [XDebug](https://xdebug.org/) installed, ready for debugging with your favorite IDE
* [Excimer](https://www.mediawiki.org/wiki/Excimer) installed, for discovering performance problems
* A [Python](https://www.python.org/) instance to run the Totara Machine Learning service
* Optimised for [Apple Silicon](../../wiki/Apple-Silicon-support)
## Installation & Usage
**[See the wiki](../../wiki) for detailed documentation on installation and usage.**
## Contribute
Please check out the [contributing guide](CONTRIBUTING.md) for more information on how you can help us.