Installation Guide
The architecture of Open BPMN makes it possible to run the modeller on various IDEs and platforms. It can be installed on different IDEs such as Visual Studio Code, Eclipse IDE, Eclipse Theia or it can be run as a standalone web application.
Install in Visual Studio Code
To run Open-BPMN in Visual Studio Code you can install the Open BPMN Extension. Just go to ‘Extensions’ and search for ‘Open-BPMN’
Note: The Open-BPMN VS Code extension includes the Imixs-Workflow BPMN Extensions. This makes it possible to model plain BPMN models as also workflow models for Imixs-Workflow.
Run With Docker
Open-BPMN can also be run as a Web Application in a Docker Container. This solution includes the Eclipse Theia Platform. To run Open-BPMN with docker just start a local Docker container:
$ docker run -it --rm --name="open-bpmn" \ -p 3000:3000 \ imixs/open-bpmn
After starting the container the application is accessible from your Web Browser:
http://localhost:3000
Workspace Directory
The Theia Client is using a local workspace directory /usr/src/app/open-bpmn.glsp-client/workspace
. The workspace directory is the place to create and edit the BPMN files. With Docker you can change the workspace directory and map it to a local directory with the Docker param -v
In the following example the workspace is mapped to the local directory /tmp/my-workspace
$ docker run -it --rm --name="open-bpmn" \ -p 3000:3000 \ -v /tmp/my-workspace:/usr/src/app/open-bpmn.glsp-client/workspace \ imixs/open-bpmn
Kubernetes
You can also run Open-BPMN in a Kubernetes cluster. The following is a deplyoment yaml file that you can use as a template for your own configuration. Note also in Kubernetes you can map the workspace directory to a persistence volume.
--- ################################################### # Deployment office-demo ################################################### apiVersion: apps/v1 kind: Deployment metadata: name: modeler-app namespace: open-bpmn labels: app: modeler-app spec: replicas: 1 selector: matchLabels: app: modeler-app strategy: type: Recreate template: metadata: labels: app: modeler-app spec: containers: - image: imixs/open-bpmn:latest name: modeler-app imagePullPolicy: Always env: - name: TZ value: Europe/Berlin ports: - name: web containerPort: 3000 resources: requests: memory: "128M" limits: memory: "1G" restartPolicy: Always --- ################################################### # Service open-bpmn ################################################### apiVersion: v1 kind: Service metadata: name: modeler-app namespace: open-bpmn spec: ports: - protocol: TCP name: web port: 3000 selector: app: modeler-app
To deploy Open-BPMN in your cluster create the namespace and apply your Pod configuration:
$ kubectl create namespace open-bpmn $ kubectl apply -f apps/open-bpmn