Browse Source

Merge pull request #998 from Bonitasoft-Community/master

add docker-compose example for bonita
Tianon Gravi 8 years ago
parent
commit
0155926102
2 changed files with 48 additions and 0 deletions
  1. 4 0
      bonita/content.md
  2. 44 0
      bonita/stack.yml

+ 4 - 0
bonita/content.md

@@ -75,6 +75,10 @@ $ docker run --name=bonita -e "TENANT_LOGIN=tech_user" -e "TENANT_PASSWORD=secre
 
 Now you can access the Bonita BPM Portal on localhost:8080/bonita and login using: tech_user / secret
 
+## %%STACK%%
+
+Run `docker stack deploy -c stack.yml %%REPO%%` (or `docker-compose -f stack.yml up`), wait for it to initialize completely, and visit `http://swarm-ip:8080`, `http://localhost:8080`, or `http://host-ip:8080` (as appropriate).
+
 ## Where to store data
 
 Most of the data are stored in a database and can be stored outside the Bonita container as described above using the PostgreSQL or MySQL container. However, some data remains inside the Bonita bundle. Bonita Home is a folder, called `bonita`, which contains configuration, working, and temporary folders and files. There are also log files inside the `logs` folder.

+ 44 - 0
bonita/stack.yml

@@ -0,0 +1,44 @@
+# Use tech_user/secret as user/password credentials
+version: '3'
+
+services:
+    db:
+        image: postgres:9.3
+        environment:
+            POSTGRES_PASSWORD: example
+        restart: always
+        command:
+            - -c
+            - max_prepared_transactions=100
+    bonita:
+        image: bonita
+        ports:
+            - 8080:8080
+        environment:
+            - POSTGRES_ENV_POSTGRES_PASSWORD=example
+            - DB_VENDOR=postgres
+            - DB_HOST=db
+            - TENANT_LOGIN=tech_user
+            - TENANT_PASSWORD=secret
+            - PLATFORM_LOGIN=pfadmin
+            - PLATFORM_PASSWORD=pfsecret
+        restart: always
+        depends_on:
+            - db
+        entrypoint:
+            - bash
+            - -c
+            - |
+              set -e
+              echo 'Waiting for Postgres to be available'
+              export PGPASSWORD="$$POSTGRES_ENV_POSTGRES_PASSWORD"
+              maxTries=10
+              while [ "$$maxTries" -gt 0 ] && ! psql -h "$$DB_HOST" -U 'postgres' -c '\l'; do
+                  sleep 1
+              done
+              echo
+              if [ "$$maxTries" -le 0 ]; then
+                  echo >&2 'error: unable to contact Postgres after 10 tries'
+                  exit 1
+              fi
+              exec /opt/files/startup.sh