Skip to content

feat: docker-compose local dev environment (#510)#643

Open
Julianemeka wants to merge 1 commit into
Vera3289:mainfrom
Julianemeka:feat/docker-compose-local-dev-510
Open

feat: docker-compose local dev environment (#510)#643
Julianemeka wants to merge 1 commit into
Vera3289:mainfrom
Julianemeka:feat/docker-compose-local-dev-510

Conversation

@Julianemeka

Copy link
Copy Markdown

Closes #510

Changes

docker-compose.dev.yml

Complete local dev stack (separate from CI docker-compose.yml):

  • postgres (15-alpine): health check via pg_isready, named volume
  • redis (7-alpine): health check via redis-cli ping, named volume
  • api: builds from ./api, port 3000, waits for postgres+redis healthy
  • frontend: Vite dev server, port 5173, hot-reload volume mount
  • indexer: waits for postgres+redis
  • notification: waits for redis

All services use volume mounts (/app/node_modules excluded) for live code reload.

Dev Dockerfiles

  • api/Dockerfile.dev
  • demo/Dockerfile.dev (Vite with --host 0.0.0.0)
  • services/indexer/Dockerfile.dev
  • services/notification/Dockerfile.dev

.env.dev.example

Safe local defaults — copy to .env before starting.

Usage

cp .env.dev.example .env
docker compose -f docker-compose.dev.yml up

Acceptance Criteria

  • ✅ PostgreSQL service with health check
  • ✅ Redis service with health check
  • ✅ API service with environment variables
  • ✅ Frontend service (Vite dev server)
  • ✅ Proper networking (shared paystream_dev network)
  • ✅ Volume mounts for hot reload
  • ✅ Environment variables via .env.dev.example
  • ✅ Health checks on all stateful services

- docker-compose.dev.yml: PostgreSQL 15, Redis 7, API, frontend, indexer, notification
- Health checks on postgres (pg_isready) and redis (redis-cli ping)
- API waits for postgres+redis healthy; indexer/notification wait on redis
- Volume mounts for hot reload on all Node services
- .env.dev.example: safe local defaults for all env vars
- Dockerfiles: api, demo (Vite --host 0.0.0.0), indexer, notification

Closes Vera3289#510
@drips-wave

drips-wave Bot commented Jun 26, 2026

Copy link
Copy Markdown

@Julianemeka Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Configure Docker Compose for Local Development

1 participant