diff --git a/docker/admin-idm-postgres.sh b/docker/admin-idm-postgres.sh new file mode 100755 index 00000000000..f68191f8091 --- /dev/null +++ b/docker/admin-idm-postgres.sh @@ -0,0 +1,36 @@ +#!/bin/bash +DOCKER_COMPOSE_FILE="../modules/flowable-ui-admin/src/main/docker/app.yml" + +if [ -z "$1" ] +then + echo -e "Usage: \n${0##*/} start \n${0##*/} stop \n${0##*/} info" + exit 1 +fi + +if [ $1 == start ] +then + docker-compose -f $DOCKER_COMPOSE_FILE up -d + STATUS=$? + if [ $STATUS -eq 0 ] + then + echo -e "\nContainers starting in background \nFor log info: ${0##*/} info" + else + echo -e "\nFailed starting containers" + fi +elif [ $1 == stop ] +then + docker-compose -f $DOCKER_COMPOSE_FILE down + STATUS=$? + if [ $STATUS -eq 0 ] + then + echo -e "\nContainers successfully stopped" + else + echo -e "\nFailed stopping containers" + fi +elif [ $1 == info ] +then + docker-compose -f $DOCKER_COMPOSE_FILE logs --follow +else + echo -e "Usage: \n${0##*/} start \n${0##*/} stop \n${0##*/} info" + exit 1 +fi diff --git a/docker/config/loadbalancer-rest-postgres.yml b/docker/config/loadbalancer-rest-postgres.yml new file mode 100644 index 00000000000..9e1f1756c59 --- /dev/null +++ b/docker/config/loadbalancer-rest-postgres.yml @@ -0,0 +1,30 @@ +version: '2' +services: + flowable-rest-app: + image: flowable/flowable-rest + depends_on: + - flowable-db + environment: + - datasource.driver=org.postgresql.Driver + - datasource.url=jdbc:postgresql://flowable-db:5432/flowable + - datasource.username=flowable + - datasource.password=flowable + - rest.docs.swagger.enabled=false + expose: + - "9977" + entrypoint: ["./wait-for-something.sh", "flowable-db", "5432", "PostgreSQL", "java", "-jar", "flowable-rest.jar", "-httpPort=9977", "-httpProtocol=org.apache.coyote.http11.Http11NioProtocol"] + flowable-db: + extends: + file: postgres.yml + service: flowable-postgres + flowable-lb: + image: dockercloud/haproxy + links: + - flowable-rest-app + volumes: + - /var/run/docker.sock:/var/run/docker.sock + environment: + - STATS_AUTH=flowable:flowable + ports: + - 8080:80 + - 8081:1936 diff --git a/docker/config/modeler-task-idm-admin-postgres.yml b/docker/config/modeler-task-idm-admin-postgres.yml index 3c3badb8b31..54752a34a31 100644 --- a/docker/config/modeler-task-idm-admin-postgres.yml +++ b/docker/config/modeler-task-idm-admin-postgres.yml @@ -19,6 +19,7 @@ services: - deployment.api.url=http://flowable-task-app:9999/flowable-task/process-api ports: - 8888:8888 + entrypoint: ["./wait-for-something.sh", "flowable-db", "5432", "PostgreSQL", "java", "-jar", "flowable-modeler.jar", "-httpPort=8888", "-httpProtocol=org.apache.coyote.http11.Http11NioProtocol"] flowable-task-app: image: flowable/flowable-task container_name: flowable-task @@ -36,6 +37,7 @@ services: - idm.admin.password=test ports: - 9999:9999 + entrypoint: ["./wait-for-something.sh", "flowable-db", "5432", "PostgreSQL", "java", "-jar", "flowable-task.jar", "-httpPort=9999", "-httpProtocol=org.apache.coyote.http11.Http11NioProtocol"] flowable-idm-app: image: flowable/flowable-idm container_name: flowable-idm @@ -48,6 +50,7 @@ services: - datasource.password=flowable ports: - 8080:8080 + entrypoint: ["./wait-for-something.sh", "flowable-db", "5432", "PostgreSQL", "java", "-jar", "flowable-idm.jar", "-httpPort=8080", "-httpProtocol=org.apache.coyote.http11.Http11NioProtocol"] flowable-admin-app: image: flowable/flowable-admin container_name: flowable-admin @@ -82,6 +85,7 @@ services: - rest.content.app.restroot=content-api ports: - 9988:9988 + entrypoint: ["./wait-for-something.sh", "flowable-db", "5432", "PostgreSQL", "java", "-jar", "flowable-admin.jar", "-httpPort=9988", "-httpProtocol=org.apache.coyote.http11.Http11NioProtocol"] flowable-db: extends: file: postgres.yml diff --git a/docker/config/rest-idm-admin-postgres.yml b/docker/config/rest-idm-admin-postgres.yml index 9d30eaec0b9..cfedeb21eef 100644 --- a/docker/config/rest-idm-admin-postgres.yml +++ b/docker/config/rest-idm-admin-postgres.yml @@ -13,7 +13,7 @@ services: - 9977:9977 depends_on: - flowable-db - entrypoint: ["./wait-for-postgres.sh", "flowable-db", "java", "-jar", "flowable-rest.jar", "-httpPort=9977", "-httpProtocol=org.apache.coyote.http11.Http11NioProtocol"] + entrypoint: ["./wait-for-something.sh", "flowable-db", "5432", "PostgreSQL", "java", "-jar", "flowable-rest.jar", "-httpPort=9977", "-httpProtocol=org.apache.coyote.http11.Http11NioProtocol"] flowable-admin-app: image: flowable/flowable-admin depends_on: @@ -47,6 +47,7 @@ services: - rest.content.app.restroot=content-api ports: - 9988:9988 + entrypoint: ["./wait-for-something.sh", "flowable-db", "5432", "PostgreSQL", "java", "-jar", "flowable-admin.jar", "-httpPort=9988", "-httpProtocol=org.apache.coyote.http11.Http11NioProtocol"] flowable-idm-app: image: flowable/flowable-idm depends_on: @@ -58,6 +59,7 @@ services: - datasource.password=flowable ports: - 8080:8080 + entrypoint: ["./wait-for-something.sh", "flowable-db", "5432", "PostgreSQL", "java", "-jar", "flowable-idm.jar", "-httpPort=8080", "-httpProtocol=org.apache.coyote.http11.Http11NioProtocol"] flowable-db: extends: file: postgres.yml diff --git a/docker/idm-postgres.sh b/docker/idm-postgres.sh new file mode 100755 index 00000000000..fe306d4acb3 --- /dev/null +++ b/docker/idm-postgres.sh @@ -0,0 +1,33 @@ +#!/bin/bash +DOCKER_COMPOSE_FILE="../modules/flowable-ui-idm/flowable-ui-idm-app/src/main/docker/app.yml" + +if [ -z "$1" ] +then + echo -e "Usage: \n${0##*/} start \n${0##*/} stop \n${0##*/} info" + exit 1 +fi + +if [ $1 == start ] +then + docker-compose -f $DOCKER_COMPOSE_FILE up -d + STATUS=$? + if [ $STATUS -eq 0 ] + then + echo -e "\nContainers starting in background \nFor log info: ${0##*/} info" + else + echo -e "\nFailed starting containers" + fi +elif [ $1 == stop ] +then + docker-compose -f $DOCKER_COMPOSE_FILE down + STATUS=$? + if [ $STATUS -eq 0 ] + then + echo -e "\nContainers successfully stopped" + else + echo -e "\nFailed stopping containers" + fi +elif [ $1 == info ] +then + docker-compose -f $DOCKER_COMPOSE_FILE logs --follow +fi diff --git a/docker/loadbalancer-rest-postgres.sh b/docker/loadbalancer-rest-postgres.sh new file mode 100755 index 00000000000..5e1983a031b --- /dev/null +++ b/docker/loadbalancer-rest-postgres.sh @@ -0,0 +1,52 @@ +#!/bin/bash +DOCKER_COMPOSE_FILE="config/loadbalancer-rest-postgres.yml" + +if [ -z "$1" ] +then + echo -e "Usage: \n${0##*/} start \n${0##*/} stop \n${0##*/} scale [number-of-instances] \n${0##*/} info \n\nHAProxy statistics on http://localhost:8081 (flowable/flowable)" + exit 1 +fi + +if [ $1 == start ] +then + docker-compose -f $DOCKER_COMPOSE_FILE up -d + STATUS=$? + if [ $STATUS -eq 0 ] + then + echo -e "\nContainers starting in background \nFor log info: \n${0##*/} info" + else + echo -e "\nFailed starting containers" + fi +elif [ $1 == stop ] +then + docker-compose -f $DOCKER_COMPOSE_FILE down + STATUS=$? + if [ $STATUS -eq 0 ] + then + echo -e "\nContainers successfully stopped" + else + echo -e "\nFailed stopping containers" + fi +elif [ $1 == info ] +then + docker-compose -f $DOCKER_COMPOSE_FILE logs --follow +elif [ $1 == scale ] +then + if [ -z "$2" ] + then + echo -e "Number of total instances missing; f.e.: \n${0##*/} scale 2" + exit 1 + else + docker-compose -f $DOCKER_COMPOSE_FILE scale flowable-rest-app=$2 + STATUS=$? + if [ $STATUS -eq 0 ] + then + echo -e "\nServices scaling out in background \nFor log info: \n${0##*/} info" + else + echo -e "\nFailed scaling out services" + fi + fi +else + echo -e "Usage: \n${0##*/} start \n${0##*/} stop \n${0##*/} info" + exit 1 +fi diff --git a/docker/modeler-idm-postgres.sh b/docker/modeler-idm-postgres.sh new file mode 100755 index 00000000000..3b6ad7d0088 --- /dev/null +++ b/docker/modeler-idm-postgres.sh @@ -0,0 +1,36 @@ +#!/bin/bash +DOCKER_COMPOSE_FILE="../modules/flowable-ui-modeler/flowable-ui-modeler-app/src/main/docker/app.yml" + +if [ -z "$1" ] +then + echo -e "Usage: \n${0##*/} start \n${0##*/} stop \n${0##*/} info" + exit 1 +fi + +if [ $1 == start ] +then + docker-compose -f $DOCKER_COMPOSE_FILE up -d + STATUS=$? + if [ $STATUS -eq 0 ] + then + echo -e "\nContainers starting in background \nFor log info: ${0##*/} info" + else + echo -e "\nFailed starting containers" + fi +elif [ $1 == stop ] +then + docker-compose -f $DOCKER_COMPOSE_FILE down + STATUS=$? + if [ $STATUS -eq 0 ] + then + echo -e "\nContainers successfully stopped" + else + echo -e "\nFailed stopping containers" + fi +elif [ $1 == info ] +then + docker-compose -f $DOCKER_COMPOSE_FILE logs --follow +else + echo -e "Usage: \n${0##*/} start \n${0##*/} stop \n${0##*/} info" + exit 1 +fi diff --git a/docker/modeler-task-idm-admin-postgres.sh b/docker/modeler-task-idm-admin-postgres.sh new file mode 100755 index 00000000000..dfd10470de3 --- /dev/null +++ b/docker/modeler-task-idm-admin-postgres.sh @@ -0,0 +1,36 @@ +#!/bin/bash +DOCKER_COMPOSE_FILE="config/modeler-task-idm-admin-postgres.yml" + +if [ -z "$1" ] +then + echo -e "Usage: \n${0##*/} start \n${0##*/} stop \n${0##*/} info" + exit 1 +fi + +if [ $1 == start ] +then + docker-compose -f $DOCKER_COMPOSE_FILE up -d + STATUS=$? + if [ $STATUS -eq 0 ] + then + echo -e "\nContainers starting in background \nFor log info: ${0##*/} info" + else + echo -e "\nFailed starting containers" + fi +elif [ $1 == stop ] +then + docker-compose -f $DOCKER_COMPOSE_FILE down + STATUS=$? + if [ $STATUS -eq 0 ] + then + echo -e "\nContainers successfully stopped" + else + echo -e "\nFailed stopping containers" + fi +elif [ $1 == info ] +then + docker-compose -f $DOCKER_COMPOSE_FILE logs --follow +else + echo -e "Usage: \n${0##*/} start \n${0##*/} stop \n${0##*/} info" + exit 1 +fi diff --git a/docker/rest-idm-admin-postgres.sh b/docker/rest-idm-admin-postgres.sh new file mode 100755 index 00000000000..8307dfd0a31 --- /dev/null +++ b/docker/rest-idm-admin-postgres.sh @@ -0,0 +1,36 @@ +#!/bin/bash +DOCKER_COMPOSE_FILE="config/rest-idm-admin-postgres.yml" + +if [ -z "$1" ] +then + echo -e "Usage: \n${0##*/} start \n${0##*/} stop \n${0##*/} info" + exit 1 +fi + +if [ $1 == start ] +then + docker-compose -f $DOCKER_COMPOSE_FILE up -d + STATUS=$? + if [ $STATUS -eq 0 ] + then + echo -e "\nContainers starting in background \nFor log info: ${0##*/} info" + else + echo -e "\nFailed starting containers" + fi +elif [ $1 == stop ] +then + docker-compose -f $DOCKER_COMPOSE_FILE down + STATUS=$? + if [ $STATUS -eq 0 ] + then + echo -e "\nContainers successfully stopped" + else + echo -e "\nFailed stopping containers" + fi +elif [ $1 == info ] +then + docker-compose -f $DOCKER_COMPOSE_FILE logs --follow +else + echo -e "Usage: \n${0##*/} start \n${0##*/} stop \n${0##*/} info" + exit 1 +fi diff --git a/docker/rest-postgres.sh b/docker/rest-postgres.sh new file mode 100755 index 00000000000..eee793491c2 --- /dev/null +++ b/docker/rest-postgres.sh @@ -0,0 +1,36 @@ +#!/bin/bash +DOCKER_COMPOSE_FILE="../modules/flowable-app-rest/src/main/docker/app.yml" + +if [ -z "$1" ] +then + echo -e "Usage: \n${0##*/} start \n${0##*/} stop \n${0##*/} info" + exit 1 +fi + +if [ $1 == start ] +then + docker-compose -f $DOCKER_COMPOSE_FILE up -d + STATUS=$? + if [ $STATUS -eq 0 ] + then + echo -e "\nContainers starting in background \nFor log info: ${0##*/} info" + else + echo -e "\nFailed starting containers" + fi +elif [ $1 == stop ] +then + docker-compose -f $DOCKER_COMPOSE_FILE down + STATUS=$? + if [ $STATUS -eq 0 ] + then + echo -e "\nContainers successfully stopped" + else + echo -e "\nFailed stopping containers" + fi +elif [ $1 == info ] +then + docker-compose -f $DOCKER_COMPOSE_FILE logs --follow +else + echo -e "Usage: \n${0##*/} start \n${0##*/} stop \n${0##*/} info" + exit 1 +fi diff --git a/docker/start-admin-idm-postgres.sh b/docker/start-admin-idm-postgres.sh deleted file mode 100755 index 27247b81c20..00000000000 --- a/docker/start-admin-idm-postgres.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -docker-compose -f ../modules/flowable-ui-admin/src/main/docker/app.yml up diff --git a/docker/start-idm-postgres.sh b/docker/start-idm-postgres.sh deleted file mode 100755 index c15550be382..00000000000 --- a/docker/start-idm-postgres.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -docker-compose -f ../modules/flowable-ui-idm/flowable-ui-idm-app/src/main/docker/app.yml up diff --git a/docker/start-modeler-idm-postgres.sh b/docker/start-modeler-idm-postgres.sh deleted file mode 100755 index 9a045e1dfa1..00000000000 --- a/docker/start-modeler-idm-postgres.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -docker-compose -f ../modules/flowable-ui-modeler/flowable-ui-modeler-app/src/main/docker/app.yml up diff --git a/docker/start-modeler-task-idm-admin-postgres.sh b/docker/start-modeler-task-idm-admin-postgres.sh deleted file mode 100755 index c98348b1fd1..00000000000 --- a/docker/start-modeler-task-idm-admin-postgres.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -docker-compose -f config/modeler-task-idm-admin-postgres.yml up diff --git a/docker/start-rest-idm-admin-postgres.sh b/docker/start-rest-idm-admin-postgres.sh deleted file mode 100755 index bd6f7b975fe..00000000000 --- a/docker/start-rest-idm-admin-postgres.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -docker-compose -f config/rest-idm-admin-postgres.yml up diff --git a/docker/start-rest-postgres.sh b/docker/start-rest-postgres.sh deleted file mode 100755 index 267d473fc8b..00000000000 --- a/docker/start-rest-postgres.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -docker-compose -f ../modules/flowable-app-rest/src/main/docker/app.yml up diff --git a/docker/start-task-idm-postgres.sh b/docker/start-task-idm-postgres.sh deleted file mode 100755 index 81e23463f23..00000000000 --- a/docker/start-task-idm-postgres.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -docker-compose -f ../modules/flowable-ui-task/flowable-ui-task-app/src/main/docker/app.yml up diff --git a/docker/stop-admin-idm-postgres.sh b/docker/stop-admin-idm-postgres.sh deleted file mode 100755 index e3ff76eaa74..00000000000 --- a/docker/stop-admin-idm-postgres.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -docker-compose -f ../modules/flowable-ui-admin/src/main/docker/app.yml down diff --git a/docker/stop-idm-postgres.sh b/docker/stop-idm-postgres.sh deleted file mode 100755 index 09379e4c838..00000000000 --- a/docker/stop-idm-postgres.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -docker-compose -f ../modules/flowable-ui-idm/flowable-ui-idm-app/src/main/docker/app.yml down diff --git a/docker/stop-modeler-idm-postgres.sh b/docker/stop-modeler-idm-postgres.sh deleted file mode 100755 index fba8770000e..00000000000 --- a/docker/stop-modeler-idm-postgres.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -docker-compose -f ../modules/flowable-ui-modeler/flowable-ui-modeler-app/src/main/docker/app.yml down diff --git a/docker/stop-modeler-task-idm-admin-postgres.sh b/docker/stop-modeler-task-idm-admin-postgres.sh deleted file mode 100755 index 7b7187b764e..00000000000 --- a/docker/stop-modeler-task-idm-admin-postgres.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -docker-compose -f config/modeler-task-idm-admin-postgres.yml down diff --git a/docker/stop-remove-all-containers.sh b/docker/stop-remove-containers.sh similarity index 100% rename from docker/stop-remove-all-containers.sh rename to docker/stop-remove-containers.sh diff --git a/docker/stop-rest-idm-admin-postgres.sh b/docker/stop-rest-idm-admin-postgres.sh deleted file mode 100755 index b4c4249c876..00000000000 --- a/docker/stop-rest-idm-admin-postgres.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -docker-compose -f config/rest-idm-admin-postgres.yml down diff --git a/docker/stop-rest-postgres.sh b/docker/stop-rest-postgres.sh deleted file mode 100755 index 311f9aff071..00000000000 --- a/docker/stop-rest-postgres.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -docker-compose -f ../modules/flowable-app-rest/src/main/docker/app.yml down diff --git a/docker/stop-task-idm-postgres.sh b/docker/stop-task-idm-postgres.sh deleted file mode 100755 index bb84a71611b..00000000000 --- a/docker/stop-task-idm-postgres.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -docker-compose -f ../modules/flowable-ui-task/flowable-ui-task-app/src/main/docker/app.yml down diff --git a/docker/task-idm-postgres.sh b/docker/task-idm-postgres.sh new file mode 100755 index 00000000000..606783f98ed --- /dev/null +++ b/docker/task-idm-postgres.sh @@ -0,0 +1,36 @@ +#!/bin/bash +DOCKER_COMPOSE_FILE="../modules/flowable-ui-task/flowable-ui-task-app/src/main/docker/app.yml" + +if [ -z "$1" ] +then + echo -e "Usage: \n${0##*/} start \n${0##*/} stop \n${0##*/} info" + exit 1 +fi + +if [ $1 == start ] +then + docker-compose -f $DOCKER_COMPOSE_FILE up -d + STATUS=$? + if [ $STATUS -eq 0 ] + then + echo -e "\nContainers starting in background \nFor log info: ${0##*/} info" + else + echo -e "\nFailed starting containers" + fi +elif [ $1 == stop ] +then + docker-compose -f $DOCKER_COMPOSE_FILE down + STATUS=$? + if [ $STATUS -eq 0 ] + then + echo -e "\nContainers successfully stopped" + else + echo -e "\nFailed stopping containers" + fi +elif [ $1 == info ] +then + docker-compose -f $DOCKER_COMPOSE_FILE logs --follow +else + echo -e "Usage: \n${0##*/} start \n${0##*/} stop \n${0##*/} info" + exit 1 +fi diff --git a/modules/flowable-app-rest/pom.xml b/modules/flowable-app-rest/pom.xml index b7e463199c4..5bb15690708 100644 --- a/modules/flowable-app-rest/pom.xml +++ b/modules/flowable-app-rest/pom.xml @@ -576,7 +576,7 @@ flowable/${project.build.finalName} flowable/java8_server - ["java", "-jar", "/${project.build.finalName}.jar", "-httpPort=9977", "-httpProtocol=org.apache.coyote.http11.Http11NioProtocol"] + ["java", "-jar", "/${project.build.finalName}.jar", "-httpPort=8080", "-httpProtocol=org.apache.coyote.http11.Http11NioProtocol"] true ${project.version} @@ -591,7 +591,7 @@ / ${project.basedir}/src/main/docker - wait-for-postgres.sh + wait-for-something.sh diff --git a/modules/flowable-app-rest/src/main/docker/app.yml b/modules/flowable-app-rest/src/main/docker/app.yml index b44379a7882..79c5cc62fc4 100644 --- a/modules/flowable-app-rest/src/main/docker/app.yml +++ b/modules/flowable-app-rest/src/main/docker/app.yml @@ -2,19 +2,19 @@ version: '2' services: flowable-rest-app: image: flowable/flowable-rest - external_links: - - flowable-rest-db:db + depends_on: + - flowable-rest-db environment: - datasource.driver=org.postgresql.Driver - - datasource.url=jdbc:postgresql://db:5432/flowable + - datasource.url=jdbc:postgresql://flowable-rest-db:5432/flowable - datasource.username=flowable - datasource.password=flowable ports: - 9977:9977 depends_on: - flowable-rest-db - entrypoint: ["./wait-for-postgres.sh", "db", "java", "-jar", "flowable-rest.jar", "-httpPort=9977", "-httpProtocol=org.apache.coyote.http11.Http11NioProtocol"] + entrypoint: ["./wait-for-something.sh", "flowable-rest-db", "5432", "PostgreSQL", "java", "-jar", "flowable-rest.jar", "-httpPort=9977", "-httpProtocol=org.apache.coyote.http11.Http11NioProtocol"] flowable-rest-db: extends: file: postgres.yml - service: flowable-rest-postgres \ No newline at end of file + service: flowable-rest-postgres diff --git a/modules/flowable-app-rest/src/main/docker/wait-for-postgres.sh b/modules/flowable-app-rest/src/main/docker/wait-for-postgres.sh deleted file mode 100755 index 21958d42b0d..00000000000 --- a/modules/flowable-app-rest/src/main/docker/wait-for-postgres.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash -# wait-for-postgres.sh - -set -e - -host="$1" -shift -cmd="$@" - -until nc -z "$host" 5432; do - echo "Postgres is unavailable - sleeping" - sleep 1 -done - ->&2 echo "Postgres is up - executing command" -exec $cmd \ No newline at end of file diff --git a/modules/flowable-app-rest/src/main/docker/wait-for-something.sh b/modules/flowable-app-rest/src/main/docker/wait-for-something.sh new file mode 100755 index 00000000000..10f421cf6ab --- /dev/null +++ b/modules/flowable-app-rest/src/main/docker/wait-for-something.sh @@ -0,0 +1,16 @@ +#!/bin/bash +set -e + +host="$1" +port="$2" +description="$3" +shift 3 +cmd="$@" + +until nc -z "$host" "$port"; do + echo "$description is unavailable - sleeping" + sleep 1 +done + +>&2 echo "$description is up - executing command" +exec $cmd diff --git a/modules/flowable-ui-admin/pom.xml b/modules/flowable-ui-admin/pom.xml index 38ab79c4a29..91766810dae 100644 --- a/modules/flowable-ui-admin/pom.xml +++ b/modules/flowable-ui-admin/pom.xml @@ -5,7 +5,7 @@ Flowable UI Admin flowable-ui-admin war - + org.flowable flowable-root @@ -25,7 +25,7 @@ 2.3.3 1.7 9.1.3.v20140225 - + 7.0.53 @@ -319,6 +319,11 @@ ${project.build.directory} ${project.build.finalName}.jar + + / + ${project.basedir}/src/main/docker + wait-for-something.sh + @@ -395,7 +400,7 @@ org.flowable flowable-bpmn-converter - + org.apache.httpcomponents diff --git a/modules/flowable-ui-admin/src/main/docker/app.yml b/modules/flowable-ui-admin/src/main/docker/app.yml index 5c0557e5328..2acc941dc68 100644 --- a/modules/flowable-ui-admin/src/main/docker/app.yml +++ b/modules/flowable-ui-admin/src/main/docker/app.yml @@ -2,32 +2,34 @@ version: '2' services: flowable-admin-app: image: flowable/flowable-admin - external_links: - - flowable-admin-db:db - - flowable-idm-app:idm + depends_on: + - flowable-admin-db + - flowable-idm-app environment: - datasource.driver=org.postgresql.Driver - - datasource.url=jdbc:postgresql://db:5432/flowable + - datasource.url=jdbc:postgresql://flowable-admin-db:5432/flowable - datasource.username=flowable - datasource.password=flowable - - idm.app.url=http://idm:8080/flowable-idm + - idm.app.url=http://flowable-idm-app:8080/flowable-idm - idm.app.redirect.url=http://localhost:8080/flowable-idm - idm.admin.user=admin - idm.admin.password=test ports: - 9988:9988 + entrypoint: ["./wait-for-something.sh", "flowable-admin-db", "5432", "PostgreSQL", "java", "-jar", "flowable-admin.jar", "-httpPort=9988", "-httpProtocol=org.apache.coyote.http11.Http11NioProtocol"] flowable-idm-app: image: flowable/flowable-idm - external_links: - - flowable-admin-db:db + depends_on: + - flowable-admin-db environment: - datasource.driver=org.postgresql.Driver - - datasource.url=jdbc:postgresql://db:5432/flowable + - datasource.url=jdbc:postgresql://flowable-admin-db:5432/flowable - datasource.username=flowable - datasource.password=flowable ports: - 8080:8080 + entrypoint: ["./wait-for-something.sh", "flowable-admin-db", "5432", "PostgreSQL", "java", "-jar", "flowable-idm.jar", "-httpPort=8080", "-httpProtocol=org.apache.coyote.http11.Http11NioProtocol"] flowable-admin-db: extends: file: postgres.yml - service: flowable-admin-postgres \ No newline at end of file + service: flowable-admin-postgres diff --git a/modules/flowable-ui-admin/src/main/docker/wait-for-something.sh b/modules/flowable-ui-admin/src/main/docker/wait-for-something.sh new file mode 100755 index 00000000000..10f421cf6ab --- /dev/null +++ b/modules/flowable-ui-admin/src/main/docker/wait-for-something.sh @@ -0,0 +1,16 @@ +#!/bin/bash +set -e + +host="$1" +port="$2" +description="$3" +shift 3 +cmd="$@" + +until nc -z "$host" "$port"; do + echo "$description is unavailable - sleeping" + sleep 1 +done + +>&2 echo "$description is up - executing command" +exec $cmd diff --git a/modules/flowable-ui-idm/flowable-ui-idm-app/pom.xml b/modules/flowable-ui-idm/flowable-ui-idm-app/pom.xml index 562f2d14256..3e08fd79869 100644 --- a/modules/flowable-ui-idm/flowable-ui-idm-app/pom.xml +++ b/modules/flowable-ui-idm/flowable-ui-idm-app/pom.xml @@ -351,6 +351,11 @@ ${project.build.directory} ${project.build.finalName}.jar + + / + ${project.basedir}/src/main/docker + wait-for-something.sh + diff --git a/modules/flowable-ui-idm/flowable-ui-idm-app/src/main/docker/app.yml b/modules/flowable-ui-idm/flowable-ui-idm-app/src/main/docker/app.yml index f88d3e84339..26e0da47c2e 100644 --- a/modules/flowable-ui-idm/flowable-ui-idm-app/src/main/docker/app.yml +++ b/modules/flowable-ui-idm/flowable-ui-idm-app/src/main/docker/app.yml @@ -2,16 +2,17 @@ version: '2' services: flowable-idm-app: image: flowable/flowable-idm - external_links: - - flowable-idm-db:db + depends_on: + - flowable-idm-db environment: - datasource.driver=org.postgresql.Driver - - datasource.url=jdbc:postgresql://db:5432/flowable + - datasource.url=jdbc:postgresql://flowable-idm-db:5432/flowable - datasource.username=flowable - datasource.password=flowable ports: - 8080:8080 + entrypoint: ["./wait-for-something.sh", "flowable-idm-db", "5432", "PostgreSQL", "java", "-jar", "flowable-idm.jar", "-httpPort=8080", "-httpProtocol=org.apache.coyote.http11.Http11NioProtocol"] flowable-idm-db: extends: file: postgres.yml - service: flowable-idm-postgres \ No newline at end of file + service: flowable-idm-postgres diff --git a/modules/flowable-ui-idm/flowable-ui-idm-app/src/main/docker/wait-for-something.sh b/modules/flowable-ui-idm/flowable-ui-idm-app/src/main/docker/wait-for-something.sh new file mode 100755 index 00000000000..10f421cf6ab --- /dev/null +++ b/modules/flowable-ui-idm/flowable-ui-idm-app/src/main/docker/wait-for-something.sh @@ -0,0 +1,16 @@ +#!/bin/bash +set -e + +host="$1" +port="$2" +description="$3" +shift 3 +cmd="$@" + +until nc -z "$host" "$port"; do + echo "$description is unavailable - sleeping" + sleep 1 +done + +>&2 echo "$description is up - executing command" +exec $cmd diff --git a/modules/flowable-ui-modeler/flowable-ui-modeler-app/pom.xml b/modules/flowable-ui-modeler/flowable-ui-modeler-app/pom.xml index 57a69afcb87..8cf1b350267 100644 --- a/modules/flowable-ui-modeler/flowable-ui-modeler-app/pom.xml +++ b/modules/flowable-ui-modeler/flowable-ui-modeler-app/pom.xml @@ -11,7 +11,7 @@ war - + org.flowable flowable-ui-modeler-conf @@ -24,7 +24,7 @@ org.flowable flowable-ui-modeler-logic - + org.flowable flowable-bpmn-model @@ -61,7 +61,7 @@ org.flowable flowable-dmn-json-converter - + org.mybatis @@ -79,7 +79,7 @@ com.mchange c3p0 - + org.slf4j @@ -93,7 +93,7 @@ org.slf4j jcl-over-slf4j - + commons-fileupload @@ -127,7 +127,7 @@ joda-time joda-time - + com.fasterxml.jackson.datatype @@ -372,6 +372,11 @@ ${project.build.directory} ${project.build.finalName}.jar + + / + ${project.basedir}/src/main/docker + wait-for-something.sh + diff --git a/modules/flowable-ui-modeler/flowable-ui-modeler-app/src/main/docker/app.yml b/modules/flowable-ui-modeler/flowable-ui-modeler-app/src/main/docker/app.yml index 7ac7ba27f6f..675c9197905 100644 --- a/modules/flowable-ui-modeler/flowable-ui-modeler-app/src/main/docker/app.yml +++ b/modules/flowable-ui-modeler/flowable-ui-modeler-app/src/main/docker/app.yml @@ -2,32 +2,34 @@ version: '2' services: flowable-modeler-app: image: flowable/flowable-modeler - external_links: - - flowable-modeler-db:db - - flowable-idm-app:idm + depends_on: + - flowable-modeler-db + - flowable-idm-app environment: - datasource.driver=org.postgresql.Driver - - datasource.url=jdbc:postgresql://db:5432/flowable + - datasource.url=jdbc:postgresql://flowable-modeler-db:5432/flowable - datasource.username=flowable - datasource.password=flowable - - idm.app.url=http://idm:8080/flowable-idm + - idm.app.url=http://flowable-idm-app:8080/flowable-idm - idm.app.redirect.url=http://localhost:8080/flowable-idm - idm.admin.user=admin - idm.admin.password=test ports: - 8888:8888 + entrypoint: ["./wait-for-something.sh", "flowable-modeler-db", "5432", "PostgreSQL", "java", "-jar", "flowable-modeler.jar", "-httpPort=8888", "-httpProtocol=org.apache.coyote.http11.Http11NioProtocol"] flowable-idm-app: image: flowable/flowable-idm - external_links: - - flowable-modeler-db:db + depends_on: + - flowable-modeler-db environment: - datasource.driver=org.postgresql.Driver - - datasource.url=jdbc:postgresql://db:5432/flowable + - datasource.url=jdbc:postgresql://flowable-modeler-db:5432/flowable - datasource.username=flowable - datasource.password=flowable ports: - 8080:8080 + entrypoint: ["./wait-for-something.sh", "flowable-modeler-db", "5432", "PostgreSQL", "java", "-jar", "flowable-idm.jar", "-httpPort=8080", "-httpProtocol=org.apache.coyote.http11.Http11NioProtocol"] flowable-modeler-db: extends: file: postgres.yml - service: flowable-modeler-postgres \ No newline at end of file + service: flowable-modeler-postgres diff --git a/modules/flowable-ui-modeler/flowable-ui-modeler-app/src/main/docker/wait-for-something.sh b/modules/flowable-ui-modeler/flowable-ui-modeler-app/src/main/docker/wait-for-something.sh new file mode 100755 index 00000000000..10f421cf6ab --- /dev/null +++ b/modules/flowable-ui-modeler/flowable-ui-modeler-app/src/main/docker/wait-for-something.sh @@ -0,0 +1,16 @@ +#!/bin/bash +set -e + +host="$1" +port="$2" +description="$3" +shift 3 +cmd="$@" + +until nc -z "$host" "$port"; do + echo "$description is unavailable - sleeping" + sleep 1 +done + +>&2 echo "$description is up - executing command" +exec $cmd diff --git a/modules/flowable-ui-task/flowable-ui-task-app/pom.xml b/modules/flowable-ui-task/flowable-ui-task-app/pom.xml index f34a83c7f58..e68233d1766 100644 --- a/modules/flowable-ui-task/flowable-ui-task-app/pom.xml +++ b/modules/flowable-ui-task/flowable-ui-task-app/pom.xml @@ -11,7 +11,7 @@ war - + org.flowable flowable-ui-task-conf @@ -100,7 +100,7 @@ org.flowable flowable-rest - + org.mybatis @@ -118,7 +118,7 @@ com.mchange c3p0 - + org.slf4j @@ -132,7 +132,7 @@ org.slf4j jcl-over-slf4j - + commons-fileupload @@ -169,7 +169,7 @@ joda-time joda-time - + com.fasterxml.jackson.datatype @@ -229,7 +229,7 @@ org.springframework.security spring-security-web - + org.freemarker @@ -298,7 +298,7 @@ - org.eclipse.m2e @@ -442,6 +442,11 @@ ${project.build.directory} ${project.build.finalName}.jar + + / + ${project.basedir}/src/main/docker + wait-for-something.sh + diff --git a/modules/flowable-ui-task/flowable-ui-task-app/src/main/docker/app.yml b/modules/flowable-ui-task/flowable-ui-task-app/src/main/docker/app.yml index 1a5c3345a2f..294e5975f50 100644 --- a/modules/flowable-ui-task/flowable-ui-task-app/src/main/docker/app.yml +++ b/modules/flowable-ui-task/flowable-ui-task-app/src/main/docker/app.yml @@ -2,32 +2,34 @@ version: '2' services: flowable-task-app: image: flowable/flowable-task - external_links: - - flowable-task-db:db - - flowable-idm-app:idm + depends_on: + - flowable-task-db + - flowable-idm-app environment: - datasource.driver=org.postgresql.Driver - - datasource.url=jdbc:postgresql://db:5432/flowable + - datasource.url=jdbc:postgresql://flowable-task-db:5432/flowable - datasource.username=flowable - datasource.password=flowable - - idm.app.url=http://idm:8080/flowable-idm + - idm.app.url=http://flowable-idm-app:8080/flowable-idm - idm.app.redirect.url=http://localhost:8080/flowable-idm - idm.admin.user=admin - idm.admin.password=test ports: - 9999:9999 + entrypoint: ["./wait-for-something.sh", "flowable-task-db", "5432", "PostgreSQL", "java", "-jar", "flowable-task.jar", "-httpPort=9999", "-httpProtocol=org.apache.coyote.http11.Http11NioProtocol"] flowable-idm-app: image: flowable/flowable-idm - external_links: - - flowable-task-db:db + depends_on: + - flowable-task-db environment: - datasource.driver=org.postgresql.Driver - - datasource.url=jdbc:postgresql://db:5432/flowable + - datasource.url=jdbc:postgresql://flowable-task-db:5432/flowable - datasource.username=flowable - datasource.password=flowable ports: - 8080:8080 + entrypoint: ["./wait-for-something.sh", "flowable-task-db", "5432", "PostgreSQL", "java", "-jar", "flowable-idm.jar", "-httpPort=8080", "-httpProtocol=org.apache.coyote.http11.Http11NioProtocol"] flowable-task-db: extends: file: postgres.yml - service: flowable-task-postgres \ No newline at end of file + service: flowable-task-postgres diff --git a/modules/flowable-ui-task/flowable-ui-task-app/src/main/docker/wait-for-something.sh b/modules/flowable-ui-task/flowable-ui-task-app/src/main/docker/wait-for-something.sh new file mode 100755 index 00000000000..10f421cf6ab --- /dev/null +++ b/modules/flowable-ui-task/flowable-ui-task-app/src/main/docker/wait-for-something.sh @@ -0,0 +1,16 @@ +#!/bin/bash +set -e + +host="$1" +port="$2" +description="$3" +shift 3 +cmd="$@" + +until nc -z "$host" "$port"; do + echo "$description is unavailable - sleeping" + sleep 1 +done + +>&2 echo "$description is up - executing command" +exec $cmd