The OpenEMR community loves Docker. We eat and breathe Docker. The OpenEMR dockers and detailed documentation
can be found on dockerhub. There are two main categories of
dockers for OpenEMR, Production Dockers and Development Dockers. Production dockers are meant for production
use with tags such as 7.0.0
whereby the latest
tag identifies the most recent version Production
docker. Development dockers are mainly meant for development and/or testing and include the flex
series which are highly flexible development dockers that are used to create the standard OpenEMR development
environments. There is also a development docker that is built nightly from the current development codebase
with tags dev
and next
that is less flexible than the flex
series and is mainly used for testing.
Production dockers are meant for production use with tags such as 7.0.0
whereby the latest
tag identifies
the most recent version Production docker and can be found on dockerhub.
Several example docker-compose.yml scripts are discussed below.
An example docker-compose.yml script can be found at
docker/production/docker-compose.yml. After modifying the
script for your purposes, it can then be started with docker-compose up
, which will then take about 5-10
minutes to complete.
An example docker-compose.yml script for Raspberry Pi can be found at
docker/production-arm/docker-compose.yml. After modifying the
script for your purposes, it can then be started with docker-compose up
, which will then take about 5-10
minutes to complete.
Development dockers are meant for development and testing and can be found on dockerhub.
The flex
series development dockers are highly flexible development dockers that are used to create the
standard OpenEMR development environments, and can be found on
dockerhub. It is strongly recommended to not use these dockers
for production purposes unless you know what you are doing. There are 2 OpenEMR development environments,
which are based on these development dockers. The main development environment is the Easy Development Docker
environment, which is documented at CONTRIBUTING.md;
note this environment can also be run on Raspberry Pi. The other development environment, which is much more
complex, is the Insane Development Docker environment, which is documented at
docker/development-insane/README.md.
There is also a development docker that is built nightly from the current development codebase with tags dev
and next
that is less flexible than the flex
series and is mainly used for testing, and can be found on
dockerhub.