diff --git a/docker-compose.yml b/docker-compose.yml index b9b13263..48c633ab 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,13 +3,14 @@ services: main: build: context: ./docker - tags: - - automatisch/automatisch + image: automatischio/automatisch ports: - '3000:3000' depends_on: - - postgres - - redis + postgres: + condition: service_healthy + redis: + condition: service_started environment: - HOST=localhost - PROTOCOL=http @@ -27,8 +28,7 @@ services: worker: build: context: ./docker - tags: - - automatisch/automatisch + image: automatischio/automatisch depends_on: - main environment: @@ -51,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 5a86ba79..73826970 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -2,10 +2,12 @@ FROM node:16-alpine WORKDIR /automatisch -RUN apt-get update && apt-get install -y postgresql-client +RUN apt-get update && apt-get install -y dos2unix + COPY ./entrypoint.sh /entrypoint.sh +RUN dos2unix /entrypoint.sh && apt-get --purge remove -y dos2unix && rm -rf /var/lib/apt/lists/* RUN yarn global add @automatisch/cli@0.2.0 EXPOSE 3000 -ENTRYPOINT /entrypoint.sh +ENTRYPOINT ["sh", "/entrypoint.sh"] 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