Which docker image for production?

Hi,
I would like to know what is the best distro for deploying Camunda in a production Docker container (options being “run”, “tomcat”, “wildfly”).

I could not find any pros/cons so far, but there might be a good reason to offer 3 options rather than just one :slight_smile:

One thing I would like to achieve is to activate authentication for the REST API (+ HTTPS), so an easy way to do it could be one of my criteria between run/tomcat/wildfly. Because what is provided in the documentation (Configure Authentication | docs.camunda.org) is not very clear to me.

Of course, security would also be a significant criteria.

Could you please give me any recommendation or link?
Many thanks!

Actually, by switching to the tomcat distro, things got much clearer. There I could find the web.xml mentioned in the documentation, in the /camunda/webapps/engine-rest/WEB_INF folder. And uncommenting the said section just made the authentication active. Then, adding a Authorization header in the requests, with value:

'Basic '+Buffer.from('demo:demo').toString('base64')

is the way to authenticate from the Node server.

Using HTTPS can be activated by uncommenting the appropriate section in /camunda/conf/server.xml and by making the key/certificate files available.

Hope this may help. I still wonder which is the best distro for production (run, tomcat, wildfly), so any feedback welcome.

Hi @bfredo123,

the run distribution offers a --production configuration, which could be easily tweaked from outside: Camunda Platform Run | docs.camunda.org

Hope this helps, Ingo

1 Like

Thank you so much Ingo, looks great. I have thoroughly read the documentation about the docker image, but did not see that page of the Camunda doc. Will give it a try and will certainly flag your answer as solution if so!

Just out of curiosity, do you know why the tomcat and wildfly distros are available? What do they bring compared to ‘run’?

Best regards

Hi @bfredo123,

the Camunda journey started with Tomcat and JBoss (now Wildfly) as Application servers a long time before Spring Boot became available and popular. That’s the reason why many sections of the documentation still mention the Tomcat and Wildfly configuration.

Camunda Run is the latest distribution build to provide a simpler configuration for non Java developers. You can find some background infos in this blog post: Introducing Camunda BPM Run - Camunda

Hope this helps, Ingo

1 Like

Thank you again Ingo for your 2 answers, this has really helped me! All is running well now.