Sets up the full monorepo structure with: - Multi-stage Dockerfile (client-build + production stages) - docker-compose.yml for production, docker-compose.dev.yml overlay for development - Express server (port 3000) with pg pool, health route, and SPA static file serving - React 18 + Vite client with react-router-dom v6, nav bar, and placeholder page components - .env.example with PostgreSQL and app config - Empty db/migrations/ directory for future migrations - CLAUDE.md updated with development workflow commands Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
25 lines
462 B
YAML
25 lines
462 B
YAML
services:
|
|
db:
|
|
image: postgres:16-alpine
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_USER: ${POSTGRES_USER}
|
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
|
POSTGRES_DB: ${POSTGRES_DB}
|
|
volumes:
|
|
- pgdata:/var/lib/postgresql/data
|
|
|
|
app:
|
|
build: .
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- db
|
|
ports:
|
|
- "3000:3000"
|
|
environment:
|
|
DATABASE_URL: ${DATABASE_URL}
|
|
PORT: ${PORT}
|
|
|
|
volumes:
|
|
pgdata:
|