The last RefApp download is for version 2.13. I thought the app was in 3.X. Do I have to build from SDK? I’m trying to get the latest version of the app, mainly interface, setup on Ubuntu and demo to a clinic on Thursday. Is there a separate download for the front-end?
@jonathan is the standalone 3.x in position to assist @swood ? if so, do you mind sharing the link to that?
Sure @mherman22 However at the moment we havent made an official release for the 3.x standalone version.
Requirements
- Have Java version 17+ installed on your machine
As per now… the following are the steps to generate the 3.x refApp Standalone version
- Clone the branch
openmrs-emr3at GitHub - openmrs/openmrs-standalone at openmrs-emr3 - Then run
mvn installto generate a zipped standalone atproject dir/target/referenceApplication-<3.x.x>.zip - Copy that zipped file and extract it anyway on your machine
- Locate the
openmrs-standalone.jarand Double click to get started
@jonathan is there anything which stops us now from publishing a standalone version for 3.x?
@dkayiwa nothing is blocking us… Let me reach out to @ruhanga to streamline the release on sourceforge
Do we publish other artifacts to SourceForge for the O2 RefApp? I haven’t focused much on the SourceForge downloads, but we should be able to generate w/e we need to push there for O3 as well.
this install requires docker and docker compose?
The standalone shouldn’t have any dependencies other than having a JVM installed on your machine.
Oh yes @ibacher The standalone itself requires only Java for its runtime…
However @swood for the build-time… it sure requires docker to generate the checksums folder which is bundled together with the zipped Standalone to avoid re-initialization when running it for the first time
And this helps to reduce the first startup time which usually was aroung 4-6mins and now its takes less than a minute ![]()
Thanks. I’m not familiar with Docker. I just installed it on windows. I’m running into this error: “open /mnt/c/Code/openmrs-standalone/C:Codeopenmrs-standalonetarget/distro/docker-compose.yml: no such file or directory“
Creating Docker Compose configuration…
The ‘ref3.xdistro’ distribution created! To start up the server run ‘docker-compose up’ from C:\Code\openmrs-standalone\target\distro
[INFO] [INFO] — exec:3.5.1:exec (start-docker-and-wait) @ referenceapplication-standalone-zip-stage — ≡ƒÜÇ Starting OpenMRS in Docker from C:Codeopenmrs-standalonetarget/distro… open /mnt/c/Code/openmrs-standalone/C:Codeopenmrs-standalonetarget/distro/docker-compose.yml: no such file or directory
@jonathan can’t we just give him a compiled standalone version instead of asking him to build it from source?
Apologies for the delayed response. I’ve been out of the office over the past week and a few days. This should be relatively straightforward to implement. We’ll just need to update the O3 Ref App Release and Publish build plan to include a step for publishing to SourceForge. I can put this together for you shortly.
Oh yes @dkayiwa we are going to release a compiled standalone thanks to @ruhanga
One other thing since 3.5.0 is still on a beta release … We can go with a pre-release of O3 RefApp 3.5.0 Standalone and later do a Final release when O3 RefApp 3.5.0-beta is finally in the final release
@jonathan it would be ideal too, to have the O3 Standalone builds run independently of Docker to avoid issues related to running builds involving Docker within Docker containers. This is where the OpenMRS SDK tool would come in handy.
Sure @ruhanga, let me take a look at using the SDK instead of Docker.
For additional context @dkayiwa, we have encountered an issue where our Bamboo environment relies on Docker for automated builds. Running the Standalone 03 RefApp in this setup is not ideal, as it attempts to start a new Docker instance inside the existing Dockerized environment, which is problematic (as described here: jenkins - Is it ok to run docker from inside docker? - Stack Overflow).
Two proposals have been suggested:
- Instead of Docker, use the SDK to start up the OpenMRS instance and copy the checksums.
- Leverage the running OpenMRS instance to generate both the demo and empty database dumps, thereby avoiding the need to manually commit them.
@jonathan can you share a link to such a CI plan?
Hello @dkayiwa
As I mentioned during the Platform call, I initially proceeded with the Docker-in-Docker approach. However, this eventually failed … and reverted back to @ruhanga approach of Replacing Docker Compose setup steps with OpenMRS SDK in standalone build scripts
I’ve now been able to achieve this through the following PR:
with the tracking ticket here - Jira
One note: given the limited time available to release the O3 RefApp Standalone, this PR does not yet cover the following improvement:
- Leverage the running OpenMRS instance to generate both the demo and empty database dumps, thereby avoiding the need to manually commit them.
I’ll create a follow-up ticket for this enhancement so that I (or anyone interested) can dive into it after the release.
cc @ruhanga