fix: add setup service for db push/seed; update README

The production runner image has no node_modules, so prisma CLI and tsx
are unavailable. Add a Compose 'setup' profile service that uses the
builder stage (which has all dev tools) to run db push and db seed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
jerick
2026-04-20 15:25:02 -04:00
parent 55debd082b
commit 0b4f9f5c0e
2 changed files with 30 additions and 8 deletions

View File

@@ -26,14 +26,19 @@ Edit `.env`:
- Change `POSTGRES_PASSWORD` to a strong password
```sh
# 2. Build and start the stack
docker compose up --build -d
# 2. Build the images
docker compose build
# 3. First-run only: apply the schema and create your user
docker compose exec app npx prisma db push
docker compose exec app npx prisma db seed
# 3. Start the database
docker compose up db -d
# 4. Open the app
# 4. First-run only: apply the schema and create your user
docker compose --profile setup run --rm setup
# 5. Start the app
docker compose up app -d
# 6. Open the app
open http://localhost:3000
```
@@ -65,8 +70,7 @@ docker compose down
docker compose down -v
# Re-seed after a wipe
docker compose exec app npx prisma db push
docker compose exec app npx prisma db seed
docker compose --profile setup run --rm setup
# Check health
curl http://localhost:3000/api/health