From 2e4f02fba7227c8d239180992dd833a8d2d06348 Mon Sep 17 00:00:00 2001 From: Thomas Gerber Date: Fri, 18 Nov 2022 16:56:38 -0800 Subject: [PATCH 1/3] More aggressive healthcheck If Faros CE is running when one launches start, it is shut down prior to composing up. This ensure a consistent interaction between services on start (e.g. metabase container does not start until db is configured) --- docker-compose.yaml | 8 ++++---- start.sh | 3 +++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index d285b5d0..568c49f3 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -15,7 +15,7 @@ services: AIRBYTE_DESTINATION_HASURA_URL: ${AIRBYTE_DESTINATION_HASURA_URL?} AIRBYTE_FORCE_SETUP: ${FAROS_AIRBYTE_FORCE_SETUP:-false} AIRBYTE_URL: ${AIRBYTE_URL?} - FAROS_EMAIL: ${FAROS_EMAIL} + FAROS_EMAIL: ${FAROS_EMAIL:-} FAROS_INIT_VERSION: ${FAROS_INIT_VERSION:-} FAROS_START_SOURCE: ${FAROS_START_SOURCE:-} HASURA_URL: ${HASURA_URL?} @@ -41,9 +41,9 @@ services: N8N_DB_NAME: ${N8N_DB_NAME?} healthcheck: test: ["CMD", "psql", "-d", "postgres://${FAROS_CONFIG_DB_USER?}:${FAROS_CONFIG_DB_PASSWORD?}@${FAROS_CONFIG_DB_HOST?}:${FAROS_CONFIG_DB_PORT?}/${N8N_DB_NAME?}", "-c", "SELECT 1"] - interval: 15s - timeout: 5s - start_period: 30s + interval: 5s + timeout: 2s + start_period: 10s retries: 5 # Airbyte diff --git a/start.sh b/start.sh index 2cebd768..1c1781c1 100755 --- a/start.sh +++ b/start.sh @@ -44,6 +44,9 @@ function parseFlags() { } main() { + # For consistency when running start on running containers + docker compose down + parseFlags "$@" EMAIL_FILE=".faros-email" if [[ -n "$email_override" ]]; then From 027a1978490aec6f96a1caa357f279c78ed0d157 Mon Sep 17 00:00:00 2001 From: Thomas Gerber Date: Thu, 22 Dec 2022 17:04:51 -0800 Subject: [PATCH 2/3] Separates stop and start commands. Note that `docker compose down` command will only stop services listed in the compose file of the folder --- start.sh | 10 +++++++--- stop.sh | 4 ++++ 2 files changed, 11 insertions(+), 3 deletions(-) create mode 100755 stop.sh diff --git a/start.sh b/start.sh index 1c1781c1..01ab0146 100755 --- a/start.sh +++ b/start.sh @@ -44,8 +44,12 @@ function parseFlags() { } main() { - # For consistency when running start on running containers - docker compose down + RUNNING=$(docker compose ps -q --status=running | wc -l) + if [ "$RUNNING" -gt 0 ]; then + printf "Faros CE is still running. \n" + printf "You can stop it with the stop.sh command. \n" + exit 1 + fi parseFlags "$@" EMAIL_FILE=".faros-email" @@ -89,7 +93,7 @@ main() { if ((run_cli)); then CONTAINER_EXIT_CODE=$(docker wait faros-community-edition-faros-init-1) - if [ "$CONTAINER_EXIT_CODE" != 0 ]; then + if [ "$CONTAINER_EXIT_CODE" -gt 0 ]; then printf "An error occured during the initialization of Faros CE.\n" printf "For troubleshooting help, you can bring this log on our Slack workspace:\n" printf "https://community.faros.ai/docs/slack \n" diff --git a/stop.sh b/stop.sh new file mode 100755 index 00000000..7d3b7cfe --- /dev/null +++ b/stop.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +docker compose down +exit From d128d38e06e4ce6a88eef3b154d3155da3845f57 Mon Sep 17 00:00:00 2001 From: Thomas Gerber Date: Thu, 22 Dec 2022 20:28:52 -0800 Subject: [PATCH 3/3] Updates stop.sh file permissions --- stop.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/stop.sh b/stop.sh index 7d3b7cfe..486ab445 100755 --- a/stop.sh +++ b/stop.sh @@ -1,4 +1,5 @@ #!/bin/bash +# only services in the compose file will be stopped docker compose down exit