OpenEMR Official Docker has been released!

Hi,

Thanks to @toolbox , there have been several improvements to the OpenEMR dockers:

  1. dockers support 443/ssl (can even use letsencrypt!)
  2. a docker with most recent development codebase is now also available (plan to update it weekly or so from the development codebase)

See here for details:
https://hub.docker.com/r/openemr/openemr/

-brady

2 Likes

Hi,

Some more fun docker stuff.

For those folks that wish to quickly test the most recent codebase(this development docker gets updated about once every week with the most recent codebase), it’s easy and fun to use the process described above for labs.play-with-docker.com, but change it a little.

Can do this per the following instructions:
go straight to labs.play-with-docker.com (you need to login to use this site; you need to create an account at https://hub.docker.com/ and then use these credentials to log into labs.play-with-docker.com). Then click ‘Add New Instance’ at the left and a new shell will open for you. Then copy/paste the four commands below:

docker network create mynet
docker run --detach --name mysql --env "MYSQL_ROOT_PASSWORD=root" --net mynet mysql --character-set-server=utf8
docker run --detach -p 81:80 --name phpmyadmin --env "PMA_HOST=mysql" --net mynet phpmyadmin/phpmyadmin
docker run --detach -p 80:80 --name openemr --env "MYSQL_HOST=mysql" --env "MYSQL_ROOT_PASS=root" --net mynet openemr/openemr:dev

Let this go for about 4-5 minutes. After that time, click on the ‘81’ link at the top, and it will take you to phpmyadmin (root:root credentials) and you can see the openemr database there. And then click on the ‘80’ link at the top, and it will take you to the OpenEMR login screen(admin:pass credentials). So you can now play around with OpenEMR development version and the database anywhere you have access to a web browser!

To break down the above 4 commands above. First command sets up the network that the 3 dockers will use so they can communicate. Second command runs the mysql docker. Third command runs the phpmyadmin docker. Fourth command runs the openemr docker(and note it uses the dev tag, which is what tells it to use the development docker).

-brady

2 Likes

Some more fun docker stuff to do can be found here:

1 Like

congrats. I’d like to check this out sometime. working on a first implementation right now though

1 Like

Hi,

Just added a cool docker that allows testing and evaluation of development codebase and features. It is called flex, and will roll out an openemr docker from any specified public git repository.

For example:
go straight to labs.play-with-docker.com (you need to login to use this site; you need to create an account at https://hub.docker.com/ and then use these credentials to log into labs.play-with-docker.com). Then click ‘Add New Instance’ at the left and a new shell will open for you. Then copy/paste the four commands below:

docker network create mynet
docker run --detach --name mysql --env "MYSQL_ROOT_PASSWORD=root" --net mynet mysql --character-set-server=utf8
docker run --detach -p 81:80 --name phpmyadmin --env "PMA_HOST=mysql" --net mynet phpmyadmin/phpmyadmin
docker run --detach -p 80:80 --name openemr --env "MYSQL_HOST=mysql" --env "MYSQL_ROOT_PASS=root" --env "FLEX_REPOSITORY=https://github.com/openemr/openemr.git" --env "FLEX_REPOSITORY_BRANCH=master" --net mynet openemr/openemr:flex

Let this go for about 4-5 minutes. After that time, click on the ‘81’ link at the top, and it will take you to phpmyadmin (root:root credentials) and you can see the openemr database there. And then click on the ‘80’ link at the top, and it will take you to the OpenEMR login screen(admin:pass credentials). So you can now play around with any OpenEMR version from any git public repository anywhere you have access to a web browser!

To break down the above 4 commands above. First command sets up the network that the 3 dockers will use so they can communicate. Second command runs the mysql docker. Third command runs the phpmyadmin docker. Fourth command runs the openemr flex docker(and note it uses the flex tag, which is what tells it to use the flex docker); note
the FLEX_REPOSITORY specifies the git repository and the FLEX_REPOSITORY_BRANCH specifies the branch in this git repository (the above example is taking the most recent development codebase from the official openemr git repository).

gotta love these dockers!
-brady

4 Likes

Hi,
Time for some more fun with dockers. With just the click of a button in this post, you can start up your own demos for OpenEMR version 5.0.0 docker, OpenEMR development version 5.0.1 docker, OpenEMR development version 5.0.2 docker, or OpenEMR flex docker.

OpenEMR version 5.0.0 (note this is an OLD version):
Try it!

OpenEMR version 5.0.1 (the most recent version):
Try it!

OpenEMR development version 5.0.2:
Try it!

OpenEMR flex (ie. most recent development codebase):
Try it!

Clicking on the above button(s) will take you to labs.play-with-docker.com (you need to login to use this site; you need to create an account at hub.docker.com and then use these credentials to log into labs.play-with-docker.com) where your very own requested demo will be magically built.
Let the process go for about 4-5 minutes. After that time, click on the the ‘80’ link at the top, and it will take you to the OpenEMR login screen(admin:pass credentials) of your very own demo.

-brady

3 Likes

Hi,

Some more cool docker stuff is available. We have added plug and play (at least hopefully it is plug and play) support for a dockerized openemr environment for developers and testers. Can check out how you can get it going here:
openemr/README.md at master · openemr/openemr · GitHub

-brady

2 Likes

See this post for example of using OpenEMR docker:

2 Likes

Hi,

Another cool docker update/example. Because of @gutiersa, OpenEMR now works with nginx. I incorporated this into a docker solution/stack, which demonstrates the use of the same OpenEMR instance on nginx and apache.

To see this in action, click on the following which is OpenEMR development version 5.0.2 using both apache and nginx:
Try it!

Clicking on the above button(s) will take you to labs.play-with-docker.com (you need to login to use this site; you need to create an account at hub.docker.com and then use these credentials to log into labs.play-with-docker.com) where your very own requested demo will be magically built.

Let the process go for about 4-5 minutes. And then will see the following ports to try:
Port 80 is nginx with php 7.1
Port 81 is nginx with php 7.2
Port 82 is apache/php (the standard docker use)

Note they are all using the same openemr instance and here is the docker-composer.yml that builds this stack: https://gist.github.com/bradymiller/fb8f0fbf9fff74b7666a217f0e9c28a1 )

-brady

1 Like

Here’s a related thread on Docker Swarm for OpenEMR:

1 Like

Hi,

We have a plug and play (at least hopefully it is plug and play) support for a dockerized openemr environment for developers and testers. Can check out how you can get it going here:
openemr/README.md at master · openemr/openemr · GitHub

Note you can now easily test OpenEMR with PHP 7.3-beta in this docker environment, so we can iron out any PHP 7.3 issues before PHP 7.3 is even released :slight_smile:

-brady

1 Like

Hello, I would like to ask whether anyone could kindly suggest why root:root does not work when I tried to login phpMyAdmin from port 81? I used the exact same docker commands as above to start the containers. Thanks!

hi xwow,

There’s a lot going on in this thread. Can you paste the commands (or the docker-compose.yml file) you used here.

-brady

Hello !

English is not my native language, so bear with me and be kind please! :grin:

I love the idea of openEMR for the institution i’m working, because we have a free clinic to serve the students of our college and the community around ourselves. I’m an IT support who aspires to change to infrastructure as soon as possible and i’ve proprosed an instalation of openEMR to better attend the patients but i’m having some trouble.

My colleague say’s that we already have a database on the cloud (AWS) and he gave me the mission to build the dockerfile and test on my machine (local) an instalation of openEMR, so we can push into our repository and use the ECS service to run. He will help me on the DNS and stuff, but for now, i’m only capable of making a dockerfile that runs openEMR but i have to install it, and openEMR doesn’t install without a database to connect to. So i can’t finish up the image to push to our repository on AWS.

I’ll paste here my dockerfile and it’ll be great to have some inputs and directions. As you can see, i’m sending the default config for the nginx from my computer, and i wish i could do the same with openEMR to skip the installation. Is it possible?

FROM ubuntu:16.04
MAINTAINER Diogo dos Santos “diogo.santos@celsolisboa.edu.br”
ENV NGINX_VERSION 1.9.3-1~jessie
RUN apt-get update && apt-get install -y nginx php7.0-fpm && apt-get clean
RUN apt-get install libapache2-mod-php libtiff-tools php-mysql php-cli php-gd php-xsl php-curl php-soap php-json php-gettext imagemagick php-mbstring php-zip php-ldap -y

RUN ln -sf /dev/stdout /var/log/nginx/access.log
RUN ln -sf /dev/stderr /var/log/nginx/error.log
VOLUME ["/var/cache/nginx"]
RUN rm /etc/nginx/sites-available/default
ADD ./default /etc/nginx/sites-available/default
WORKDIR /var/www/html
COPY ./openemr-5.0.1.tar.gz /var/www/html
RUN tar -xvzf openemr-5.0.1.tar.gz
EXPOSE 80
CMD service php7.0-fpm start && nginx -g “daemon off;”

Anyway, thanks for reading this long post. It will be a great service to our college and community to have this working here.

ps: I already looked at the docker-compose swarm stuff that you guyz made, and it’s amazing!

hi @Diogo_Santos ,
Installation is taken care of in the official OpenEMR docker, if you wish(and you could even point it to the database you are using on AWS). Would recommend using that instead of trying to rebuild it. And would separate out the nginx and php-fpm into other dockers. For production, I’d rec using apache/php, which is already on the official OpenEMR docker (although we do have sample docker-compose.yml scripts out there that do show how to use nginx/php-fpm dockers, if you really wish).
-brady

Check out this thread for using OpenEMR with Kubernetes:

Check out this thread for instructions on using OpenEMR docker on Ubuntu 18.04:

Tested and updated installation instruction.

1 Like

I had a lot of hurdles to jump through yet I managed to compile and run OpenEMR’s docker on my Raspberry Pi (this isn’t ideal yet it is possible to do).

I tried the labs.play docker on ubuntu 18.04 but no luck. Everything gets built and i do see 80 and 443 links. But on clicking i get
" This page isn’t working

ip172-18-0-50-bq9ctjtim9m000e1nta0-80.direct.labs.play-with-docker.com didn’t send any data."

I have enabled pop ups and it is not a CORS issue either.