Docker
Original Author: Kraig E, December 13, 2021
What is Docker?
Docker is an open platform for developing, shipping, and running applications. Docker enables you to separate your applications from your infrastructure so you can deliver software quickly.
About
The REDCap@Yale Development Team is using a modified LAMP image containing the Apache, PHP, and MySQL for running local test instances of REDCap for quick and light weight development and testing. It also includes some aids to try and facilitate a rapid setup of REDCap using either your consortium credentials or a complete installer you receive from a teammate at your institution.
This is intended to be one of the fastest and easiest ways to create a local development instance of REDCap on your computer or test server.
This is not intended to be used as a production server, although we do run something pretty similar here at Stanford.
Should you want to run this as production, be sure to edit the redcap.ini
file in the override-web/php
folder
to have production-ready php settings.
Features
- Mailhog to capture outbound email for review
- X-Debug support for detailed server-side inspection
- PhpMyAdmin support for easy database maintenance / backups / restores
- Easy to modify php-version or mysql-version and rebuild your environment in minutes
The redcap-docker images are deployable relatively simply in any environment running Docker. We have found these containers useful for testing.
Quick-Start
- Install Docker Community Edition (requires docker account which is free)
- Download this repository and unzip it to your computer
- Open your download directory using a good IDE ( phpStorm, Visual Studio Code, Atom - does not support xdebug, etc... )
- Edit the
.env
file located in therdc
folder review the contents, making changes as necessary. - Once
.env
file settings are correct, from therdc
folder typedocker-compose up -d
- Open your web browser and goto
http://localhost
(or, in some cases with macshttp://127.0.0.1
) and follow directions for further installation
Full Documentation
See the detailed documentation for more information! Keep in mind this is a community effort so feedback is appreciated. Please create issues here with any suggestions or make a pull request with improvements.