diff --git a/core/Dockerfile b/core/Dockerfile index 19f38e9297234f33b18aaae4160a7972ee702a3b..52e91cfd85886446a7fcaac472dfb292c371ac52 100644 --- a/core/Dockerfile +++ b/core/Dockerfile @@ -68,7 +68,8 @@ ENV INSTANCE_ID="prism-view-server_core" \ REDIS_PORT= \ REDIS_REGISTER_QUEUE_KEY= \ REDIS_REGISTERED_SET_KEY= \ - INIT_SCRIPTS="/configure.sh" + INIT_SCRIPTS="/configure.sh" \ + COLLECT_STATIC="false" ADD rgbnir_definition.json \ configure.sh \ @@ -76,6 +77,8 @@ ADD rgbnir_definition.json \ run-registrar.sh \ registrar.py \ entrypoint.sh \ + wait-initialized.sh \ + initialized.sh \ / # run-redis-manager.sh \ @@ -85,7 +88,9 @@ RUN chmod -v +x \ /configure.sh \ /run-registrar.sh \ /run-httpd.sh \ - /entrypoint.sh + /entrypoint.sh \ + /wait-initialized.sh \ + /initialized.sh # /run-redis-manager.sh EXPOSE 80 diff --git a/core/initialized.sh b/core/initialized.sh new file mode 100644 index 0000000000000000000000000000000000000000..8fc6714bda7f168a3a5807588463805987da1d2e --- /dev/null +++ b/core/initialized.sh @@ -0,0 +1,4 @@ +#!/bin/bash -e + +touch "${INSTANCE_DIR}/.initialized" +echo "Instance ${INSTANCE_ID} is initialized" diff --git a/core/wait-initialized.sh b/core/wait-initialized.sh new file mode 100644 index 0000000000000000000000000000000000000000..bfefbc12868fcc0b52a52748df694b38961447b5 --- /dev/null +++ b/core/wait-initialized.sh @@ -0,0 +1,7 @@ +#!/bin/bash -e + +until [ -f "${INSTANCE_DIR}/.initialized" ] ; do + echo "Waiting until instance ${INSTANCE_ID} is initialized" + sleep 3 + # TODO: timeout? +done diff --git a/docker-compose.vhr18.yml b/docker-compose.vhr18.yml index 1310192c580e62ce7bda6515bb7411b6bacb6757..d8d91f8a231610820b0d8515c6b8e8ad4b083801 100644 --- a/docker-compose.vhr18.yml +++ b/docker-compose.vhr18.yml @@ -42,7 +42,9 @@ services: environment: INSTANCE_ID: "prism-view-server_renderer" INSTALL_DIR: "/var/www/pvs/dev/" - INIT_SCRIPTS: "/configure.sh /init-db.sh" + COLLECT_STATIC: "false" + INIT_SCRIPTS: "/configure.sh /init-db.sh /initialized.sh" + STARTUP_SCRIPTS: "/wait-initialized.sh" WAIT_SERVICES: "database:5432" configs: - source: init-db @@ -131,9 +133,10 @@ services: INSTALL_DIR: "/var/www/pvs/dev/" SCALEFACTOR: "1" IN_MEMORY: "false" - INIT_SCRIPTS: "/configure.sh /init-db.sh" - WAIT_SERVICES: "redis:6379 database:5432 renderer:80" - WAIT_TIMEOUT: 300 # wait up to 5 minutes + COLLECT_STATIC: "false" + INIT_SCRIPTS: "/configure.sh /init-db.sh /initialized.sh" + STARTUP_SCRIPTS: "/wait-initialized.sh" + WAIT_SERVICES: "redis:6379 database:5432" configs: - source: init-db target: /init-db.sh