Skip to main content

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 the rdc folder review the contents, making changes as necessary.
  • Once .env file settings are correct, from the rdc folder type docker-compose up -d
  • Open your web browser and goto http://localhost (or, in some cases with macs http://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.