add docker-compose example for bonita

This commit is contained in:
JeremJR 2017-09-08 18:58:42 +02:00
parent 758d8faac3
commit 69ce0ba1c1
2 changed files with 60 additions and 0 deletions

View File

@ -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
bonita/stack.yml Normal file
View File

@ -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