You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4.0 KiB
4.0 KiB
OpenEMR Development Environment (Docker)
TABLE OF CONTENTS
BUILD DEVELOPMENT SERVER
The OpenEMR video series (and many home lab tutorials) walk you through creating a Linux VM to develop with. The assumption in these videos is that you will use the VM as a workstation AND as a server: everything in one box. I don't like that approach. My preference is to create the VM as a server and then connect to the server from a workstation.
- Build a Linux Server VM on either an internet accessible private cloud, or on one of the major cloud providers (e.g., Azure, AWS, etc.)
- Install OpenSSH (if you did not select it during installation, Azure installs it automatically)
- Setup your work computer with ssh keys to login to server
CONNECT WORKSTATION TO SERVER
- In VSCode add Remote - SSH extension
- Open SSH Config file and add entry for the server
Host arbitrary-name-that-displays-in-vscode
HostName ip-address-or-dns-hostname
User username
Port portnumber-9091
- Connect VSCode to server and open a new terminal window
CONFIG SERVER
- Install Git
- Install Docker
- Install Docker-compose
- Install OpenEMR-cmd
INSTALL OPENEMR-CMD
- Go to openemr/openemr-devops/utilities on GitHub
- Follow installation instructions at GitHub
FORK THE GITHUB REPO
- Create GitHub account
- Configure Git and create SSH key on server
- Register SSH key with GitHub
- Fork the OpenEMR repo into your own account
- Clone your fork into the server
START THE DOCKERS
cd ~/git/openemr/docker/development-easy
openemr-cmd up
- Find the donuts in the breakroom
- Enjoy the Phil Collins easy listening tune that is playing
docker ps
there are 5 dockers for the OpenEMR environmentopenemr-cmd dl
keep running this until the docker is done building (e.g.Apache is running)
BUILD
If using OpenEMR directly from the code repository, then the following commands will build OpenEMR (Node.js version 16.* is required). This should be done from inside of the docker container
openemr-cmd s
composer install --no-dev
npm install
npm run build
composer dump-autoload -o
TEST OPENEMR
- Open a browser
- http://hostname-or-ip-of-server:8300
- admin/pass
- http://hostname-or-ip-of-server:8310 (opens phpmyadmin)
- root/root
SLING SOME CODE
- Make a change
- Refresh browser or open the site again
git checkout -b code-slinging
git commit -a -m "slinging"
git push origin code-slinging
- Go to GitHub
- Click the create pull request to create a pull request to the main openemr
SAMPLE PATIENT DATA WITH SYNTHEA
openemr-cmd irp 10
- By now the donuts are all gone except for that gross coconut covered one
- Actually I kind of like the coconut donuts
- Let's be real, I like all donuts
- I am the Homer Simpson of full stack developers