diff --git a/docker-compose.yml b/docker-compose.yml index aa289ac5..48c633ab 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,8 +7,10 @@ services: ports: - '3000:3000' depends_on: - - postgres - - redis + postgres: + condition: service_healthy + redis: + condition: service_started environment: - HOST=localhost - PROTOCOL=http @@ -49,6 +51,11 @@ services: - POSTGRES_PASSWORD=automatisch_password volumes: - postgres_data:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"] + interval: 10s + timeout: 5s + retries: 5 redis: image: 'redis:7.0.4' volumes: diff --git a/docker/Dockerfile b/docker/Dockerfile index c1508952..2b3697d3 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -2,7 +2,6 @@ FROM node:16 WORKDIR /automatisch -RUN apt-get update && apt-get install -y postgresql-client COPY ./entrypoint.sh /entrypoint.sh RUN yarn global add @automatisch/cli@0.2.0 diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh index 5ac0ae56..5f1f6f24 100755 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -2,13 +2,6 @@ set -e -export PGPASSWORD="$POSTGRES_PASSWORD" - -until psql -h "$POSTGRES_HOST" -U "$POSTGRES_USERNAME" -d "$POSTGRES_DATABASE" -c '\q'; do - >&2 echo "Waiting for Postgres to be ready..." - sleep 1 -done - if [ ! -f /automatisch/storage/.env ]; then >&2 echo "Saving environment variables" ENCRYPTION_KEY="${ENCRYPTION_KEY:-$(openssl rand -base64 36)}" @@ -17,8 +10,6 @@ if [ ! -f /automatisch/storage/.env ]; then echo "APP_SECRET_KEY=$APP_SECRET_KEY" >> /automatisch/storage/.env fi ->&2 echo "Postgres is up - executing command" - if [ -n "$WORKER" ]; then automatisch start-worker --env-file /automatisch/storage/.env else