diff --git a/Dockerfile.dev b/Dockerfile.dev index fd60996..36ec528 100644 --- a/Dockerfile.dev +++ b/Dockerfile.dev @@ -1,7 +1,7 @@ FROM node:20-bookworm-slim AS base # Prisma needs OpenSSL available during install/generate/runtime. -RUN apt-get update -y && apt-get install -y openssl && rm -rf /var/lib/apt/lists/* +RUN apt-get update -y && apt-get install -y openssl postgresql-client && rm -rf /var/lib/apt/lists/* # Install pnpm RUN npm install -g pnpm@9.14.2 diff --git a/tooling/docker/app-dev-start.sh b/tooling/docker/app-dev-start.sh index 40d134b..12419f3 100644 --- a/tooling/docker/app-dev-start.sh +++ b/tooling/docker/app-dev-start.sh @@ -1,6 +1,13 @@ #!/bin/sh set -eu +# Wait for postgres to be ready before running migrations +echo "Waiting for postgres..." +until pg_isready -h "${POSTGRES_HOST:-postgres}" -p "${POSTGRES_PORT:-5432}" -q; do + sleep 1 +done +echo "Postgres is ready." + # Regenerate Prisma client (needed after bind-mount overlays the image layer) pnpm --filter @capakraken/db db:generate