Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Bonita BPM Official Docker image #263

Merged
merged 15 commits into from
Oct 14, 2015
1 change: 1 addition & 0 deletions bonita/README-short.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Bonita BPM is an open-source business process management and workflow suite
51 changes: 51 additions & 0 deletions bonita/content.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# What is Bonita BPM?

Bonita BPM is an open-source business process management and workflow suite created in 2001. It was started in France National Institute for Research in Computer Science, and then had incubated several years inside of the French computer science company Groupe Bull. Since 2009, the development of Bonita is supported by a company dedicated to this activity: Bonitasoft.

> [wikipedia.org/wiki/Bonita_BPM](http://en.wikipedia.org/wiki/Bonita_BPM)

![logo](https://github.com/bonitasoft/docker/blob/master/bonita/7.0.0/logo.png?raw=true)

# How to use this image

## Quick start

docker run --name bonita -d -p 8080:8080 bonita

This will start a container running the [Tomcat Bundle](http://documentation.bonitasoft.com/tomcat-bundle-1) with Bonita BPM Engine + Portal. As you didn't sepecify any environment variables it's almost like if you have launched the Bundle on your host using startup.{sh|bat} (with security hardening on REST and HTTP APIs, cf Security part). It means that Bonita BPM uses a H2 database here.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"sepecify"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thank you, I've fixed that


You can access to the portal on http://localhost:8080/bonita and login using the default credentials : install / install

## Link Bonita BPM to a database

### MySQL

docker run --name mydbmysql -e MYSQL_ROOT_PASSWORD=mysecretpassword -d bonitasoft/mysql
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can't recommend using non-official images. I see that bonitasoft/mysql is just a minor configuration change difference from the official mysql image. I think we are stuck providing users with instructions on how to deal with this situation. The best option is likely to defer to the instructions in the mysql image for mounting in a custom configuration file and specifying what should be changed.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, thanks. I've updated accordingly the documentation.

docker run --name bonita_mysql --link mydbmysql:mysql -d -p 8080:8080 bonita

### PostgreSQL

docker run --name mydbpostgres -e POSTGRES_PASSWORD=mysecretpassword -d bonitasoft/postgres
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The same basic idea applies here as well, except there is the added complication that the config file doesn't exist until the initial startup which generates it. The workaround for this kind of customization is covered in the postgres image docs and involves mounting in a shell script to modify the postgresql.conf after it is generated, but before the database is started. Let me know if you run in to trouble.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, thanks. I've updated accordingly the documentation.

docker run --name bonita_postgres --link mydbpostgres:postgres -d -p 8080:8080 bonita

## Modify default credentials

docker run --name=bonita -e "TENANT_LOGIN=tech_user" -e "TENANT_PASSWORD=secret" -e "PLATFORM_LOGIN=pfadmin" -e "PLATFORM_PASSWORD=pfsecret" -d -p 8080:8080 bonita

If you do so, you can access to the portal on http://localhost:8080/bonita and login using : tech_user / secret

# Security
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hmm... the documentation at http://documentation.bonitasoft.com/bos-version/bonita-bpm-70 looks fantastic, and perhaps it would be useful to reference that and talk about how this image can be customized in similar ways outside of the environment variables mentioned here? As a new Docker user who may have previous experience with Bonita (or vice versa), it would be helpful to get a sense of what the options were for making additional customizations. Maybe this is overkill and not something you'd want to support. I'll defer to your expertise.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've added an "How to extend this image" in the similar way that on the PostgreSQL container.


This docker image ensures to activate by default both static and dynamic authorization checks on REST API. To be coherent it also deactivates the HTTP API.

- REST API authorization

- [Static authorization checking](http://documentation.bonitasoft.com/rest-api-authorization#static)

- [Dynamic authorization checking](http://documentation.bonitasoft.com/rest-api-authorization#dynamic)

- [HTTP API](http://documentation.bonitasoft.com/rest-api-authorization#activate)

But for specific needs you can override this behavior by setting HTTP_API to true and REST_API_DYN_AUTH_CHECKS to false :

docker run -e HTTP_API=true -e REST_API_DYN_AUTH_CHECKS=false --name bonita -d -p 8080:8080 bonita
6 changes: 6 additions & 0 deletions bonita/license.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
Bonita BPM image includes two parts :

- Bonita BPM Engine under [LGPL v2.1](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html)

- Bonita BPM Portal under [GPL v2.0](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)

Binary file added bonita/logo.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.