Forráskód Böngészése

add docker-compose example for bonita

JeremJR 8 éve
szülő
commit
69ce0ba1c1
2 módosított fájl, 60 hozzáadás és 0 törlés
  1. 4 0
      bonita/content.md
  2. 56 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.

+ 56 - 0
bonita/stack.yml

@@ -0,0 +1,56 @@
+# Use tech_user/secret as user/password credentials
+version: '3'
+
+services:
+
+    db:
+        image: postgres:9.3
+        environment:
+            POSTGRES_PASSWORD: example
+        entrypoint: &postgres-script
+           - sh
+           - -c
+           - |
+             set -e
+             echo '#!/bin/bash' > /docker-entrypoint-initdb.d/bonita.sh
+             echo 'sed -i "s/^.*max_prepared_transactions\s*=\s*\(.*\)$$/max_prepared_transactions = 100/" "$$PGDATA"/postgresql.conf' >> /docker-entrypoint-initdb.d/bonita.sh
+             chmod +x /docker-entrypoint-initdb.d/bonita.sh
+             /docker-entrypoint.sh postgres
+
+    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
+        depends_on:
+            - db
+        entrypoint: &bonita-script
+           - sh
+           - -c
+           - |
+             set -e
+             cat > /wait-for-postgres.sh <<- EOM
+             #!/bin/bash
+             # wait-for-postgres.sh
+             set -e
+             host="\$$1"
+             shift
+             cmd="\$$@"
+             PGPASSWORD=\$$POSTGRES_ENV_POSTGRES_PASSWORD
+             export PGPASSWORD
+             until psql -h "\$$host" -U "postgres" -c '\l'; do
+               >&2 echo "Postgres is unavailable - sleeping"
+               sleep 1
+             done
+             >&2 echo "Postgres is up - executing command"
+             exec \$$cmd
+             EOM
+             chmod +x /wait-for-postgres.sh
+             /wait-for-postgres.sh $$DB_HOST /opt/files/startup.sh