Production set upt - version etc.

Hello, we just want to set up a prototype, on Ref App 2.4, in Linux, but for production (not standalone)

may I ask, is anybody doing this … ?

… since that seems so difficult :slight_smile: … reading in the forum and the answers, Ubuntu LTS is used.

Such; with Ubuntu 16, there is not: MySQL version 5.6. … with MariaDB, I can’t make the OpenMRS run anyhow There was another problem … apache, jetty or whatever …

(well, solution for quick and dirty was: install xampp … that worked, well, for the demo. but that is not for prod …)

well, I am not too good in all of these, and we do not have a dev-ops in our small team, so, … i was trying to go back, install Ubuntu 14. Unfortunately, don’t know how to install MySql 5.6 on it … it’s “gone” in somehow …

Well, I see that the set up link was corrected, now (the platform version corresponding to Ref App 2.4), that’s good.

What I would be glad: could somebody please share their prod. setup, for ref 2.4., on Linux? apache, tomcat, mysql (if mariadb, please share how to do), java … OS.

… we might be glad about Ubuntu (say, not Fedora or Centos) … since more people might be familiar with Ubuntu.

thank you, that would be great. And … sorry :slight_smile: if that is written somewhere.


so … we do not understand, why that system that is supposed to run (2.4) is not for prod use … may I ask, what is the definition of prod use anyhow?

… the programmers are entirely annoyed, sdk seems not to produce running modules when db access is involved (error: property xy not found …)

at this moment, we are checking out alternatives. Let’s have a look at gnu health or whatever … or we do it ourselves.

And system that is not tested for deployment and development (tested: have process there fore … not the BA acceptance test in a lab env) … is just academical.

Hi @bci,

There is indeed a missing element within the OpenMRS ecosystem when it comes to installing it for production use. Because of this our organisation is working on an Ansible playbook to deploy OpenMRS distributions remotely. However this is still work in progress that is not yet shared publicly, and I believe that what has been done so far is only for the Ref App distro. I am pinging here the developer (@mksrom) to invite him to share more about this piece of work with you.

There is a notable exception though: the Bahmni distribution, that is provided with an installer that fits for production uses. With that tool you can install packages of the Bahmni distro on the hosting OS, and everything will be up & running, with ad-hoc Apache setup and HTTPS enabled… etc. However note that this is limited to CentOS.

Other distributions, that are used in production, must have their own installer with some in-house cuisine involved. But the teams behind those distros might not have shared their work publicly.

I also don’t think anyone has a strong opinion on the OS to pick since this depends on the intent of the deployment. With this in mind, OpenMRS was developed with tools making it OS-independent. As long as the dev-ops involved know how to bring in the various needed pieces (Java, Tomcat, MySQL… etc), then the OS choice is irrelevant (at least within this thread).

For non-production use (yet) there is an amazing tool though: the OpenMRS SDK. This is an absolute must for anything upstream of the production installation (development, testing, setting up demos, sharing dev setups… etc). Regarding your comment about it:

I think you should open an ad-hoc thread about the SDK issues that you are facing. The part of the SDK that helps setting up and running distributions is still a fairly young tool, and it is possible that you have uncovered some new issues. However database wise it is pretty flexible since you can even choose between MySQL and MySQL docker embedded.

Perhaps, but that does not apply to OpenMRS-based solutions anyway since they have been deployed as a production system to countless sites.


I must admit that it is not simple at first to get the bigger picture of OpenMRS. You must look at it as a framework of tools and people that produce and help produce EMR solutions using a standardised methodology. Unfortunately “OpenMRS” doesn’t really refer to anything precise, and the closest concept to a final product would be the publicly maintained distributions. I would invite you to look at this from the wiki: ‘OpenMRS Distributions’.

@mksd Hello Dimitri, thank you very much for taking your time, answering on a Saturday :slight_smile: that’s very nice.

yes we have taken a (very big) look at the “big picture” of the openmrs if say so. Point is - there are a lot of things going on, what is nice. Especially the inclusion of international standards of terms, that’s brilliant, and as far as I can see, that’s unique (for all FOSS health sw products)

Still, the newly released releases, for prod (if defined: not an embedded tomcat or jetty) - they seem not to run The last link provided (platform) was the wrong platform. It was corrected, fine.

Now (just this night), one of our dev team was so kind to try out to include the modules one-by-one by hand (of ref 2.4, on the provided platform 1.11) … … by using “common sense”, say: not to copy all omods, but to start with the ref-app-module, and go back solving the dependencies one-by-one. it seems not to work. Seemingly, when all modules were included to start the ui framework, it crashes: org.openmrs.ui.framework.ViewException: Error rendering page view for home. Model properties

Seriously, it looks for me, that the provided software - are simply links. So to speak: those who provide it, did not try out, if it even works. (question, since in the company i work for, we have a checklist … and we have a QA who does try it out, exactly as provided, step by step)

As to Bahmni, we tried it - that was great, the installation worked. It is too big for the intended use, so the main responsible person decided against.

As to the SDK, i tried myself - in the docu, i could not find the option to create db-access. So I used the maven archetype therefore, then ‘copied’ the structure, created controller, jsp, gsp … as in the archetype-created module. It worked to compile it, deploy it to the SDK-started server, add it to the admin-page, also the table (by liquibase) was created. when trying to add it as a GUI (second column), still fine. Then, trying to access data and show them in this GUI, it crashed. I cannot say what, in this case, was the incompatibly issue since that was anyhow sort of a ‘hack’. Please advice where I might find the service/dao etc. creation … then I will try it again, thank you.

Other questions of installation, we solved some, by reading a lot in this wiki, e.g. to create an empty db before starting the installation; e.g. give tomcat7 the ownership of a folder, e.g. create a folder oneself for tomcat before installation, e.g. increasing the heap space; e.g. re-starting tomcat7 all time (say: check catalina.out all time during install) … maybe we have not found all hints :slight_smile:

As to other prod installations - it’s great if it runs. Hm, we are interested in an prod install of the current ref 2.4 (the modern design) … since our users ‘like’ it. Maybe those that are in prod right now, are rather the before-2.4 app, hm, maybe.

We will try a few more days to make it run, as it is provided, with ref 2.4 (however, if the modules themselves are not compatible, that’s meaningless), then will switch to any other SW, since time is running out.

The GUI of the ref app’s nice design is very convincing for the users, and the main responsible person likes it a lot :slight_smile: (and myself, i am very convinced of the inclusion work of the various international vocabularies) … however the sw must run.

Thank you very much, again, for your time on a Saturday! :slight_smile: and thank you very much, yes please I would be glad to talk with Romain @mksrom

I will try to answer some of your questions here again, but from now on I would suggest that you open separate Talk posts per sub-topic. There is a little bit too much in here, it goes in many directions and the focus might be lost. When posting, try to pick the most suitable category and tags to maximise the chances of your post to be spotted by the appropriate community members. Also I would suggest to not post on behalf of other people of your organisation. Instead, make sure that whoever is facing a technical issue signs up, comes in here and describes the exact steps taken and how they have failed.

Ref App modules compatibility

Please ask your developer to open a specific thread about this, we cannot take action without more feedback.

About the Ref App 2.4

You are correct that, at some point, the official download page was offering Platform 2.0 with the set of modules for the Ref App 2.4. That is unfortunate and it had been addressed, as you have seen by yourself. I am not sure what may have happened but it seems that this very specific step of setting the download links is an infrequent, manual process.

I would agree that the release process of the Ref App distro has not always been optimal. Our issue with it lies more on the fact that some released modules would still hold dependencies on SNAPSHOT artifacts. But that doesn’t impact the built binaries available for download, it is rather a problem for people developing around the distro.

Even though Ref App 2.4 is the latest official release, I don’t believe it is used as such by anyone (yet, but that would have to be confirmed of course). Implementers build their own distros starting from the Ref App, but it is quite unlikely that it is used literally out of the shelf. But should you consider using the Ref App distro I would suggest then to stay on top and try to get 2.5-SNAPSHOT running and adopt the 2.5 release as soon as it is out (and that’s going to be soon I believe.) This is because version 2.5 will be the first release based on Platform 2.0 and that is definitely the way going forward.

Your timeline

If you are running out of time, then you may consider hiring an OpenMRS service provider. If you cannot do that then please ask more specific questions through specific posts, see my initial comment.

Good luck.

thank you also for this answer, and thank you for arranging the topics as it might be appropriate, that’s good.

timeline - well, i have seen several questions in the wiki and downlad-space about the fact that the beautiful modern gui app does not run, as provided. that’s sad, and maybe those people have been leaving already … as i might think that, if hiring a provider for a |FOSS product, most (small less-well-off orgs) would rather write their own solution. my only thought was: that what is given as the official download, that should work, out of the box more or less, without incompatibility issues … of course, people will build their own things on it. if it’s now working, then please mark it “beta” … that’s more understandible, then people might not touch it.

left the question if the SDK/where it provides the service/dao layer, or not, and if not, then we cannot use it either, … also ok, no sdk. i asked in the other question, thank you, have a great Sunday

@bci, hey, wearing my Bahmni hat, I would love to understand more about this decision. Any chance you can share a bit more, either here or via a PM, about what “too big” means in this context?

E.g. one can use just the EMR portion of Bahmni, without ERP and ELIS, and I don’t think this is much “bigger” than the reference application. But not everyone agrees with that statement, so I’d like to learn more about the thinking!

Hi @darius, Thank you very much for asking, yes, sure one reason was the fact, that, one of the group is herself Angular Expert. She asked around however, nobody could tell her what will happen when the version will switch to 2.0; or when. - That was about angular. As to set up, that was straight forward, all good. As to the look&feel - the main responsible person loved it, also some details like: the “kinship” (or so, do not remember clearly), the fact that one indicated a village … some details that he had seen himself in use and was glad to see it implemented. As to the usage - two factors, that we as a group decided against. one was, that nobody of us, or anyone whom we knew, knew Odoo. we did research and were able to change something … little bit. Actually, we did not understand much. Also, when asking the Bahmni group chat, they were very kind. However, it seems that they were using Bahmni in vagrant - we did use Centos b/c we wanted to know if that would be possible. Anyhow - they were nice and supportive but it was like a black hole … we did, actually, have no clue what we were doing. As to the functions: we wanted 1 req: print a prescriptions. Hm, we thought that it is a big effort to run 2 apps (of which one we did not understand - odoo -) to have just a pdf created. Yes, as you say, the EMR is what we liked a lot, and after the main responsible person, it is very much a reflection of reality. However, running a big (and not entirely understandable, for us) system to have just an EMR - what we thought in the worst case we would write it ourselves - was decided against. The hospital management ERP and also Elis - that is maybe good if we would have started big but we are doing it for a small clinic. Besides, most of us are good at Java, one at Angular additionally - so the pure OpenMRS was simply more understandable for us. May I think the main issue was, that we just did not get to understand it. Also, unfortunately :slight_smile: still at this moment we have our main jobs if say so, that is, we unfortunately were not able to spend a lot of time into something that is surely well done and useful however, not sure for the future (Angular version) and, sort of a ‘proprietary product’ if say so. Say - using OpenMRS that is like any Spring framework, with maybe even Java8 (if we do it), some insights into Groovy (we discussed this as well - besides IntelliJ, Groovy is maybe not-so-used also … but it’s a small part only) - however, the entire framework might be good for the CV. Using a uniquely built system with a language that will maybe not be used in the future, that was something that some of us seem not have felt so well … as some of us participate ‘for their CV’ if say so. It’s a great system any how, thank you for asking