- Next.js 16.1.6 with App Router, TypeScript strict, Tailwind CSS v4 - ESLint 9, Prettier with Tailwind class sorting plugin - Husky + lint-staged pre-commit hooks - Multi-stage Dockerfile (dev/build/production) with pnpm + Node 20 - docker-compose.yml with hot reload + PostgreSQL 17 - src/ directory structure (components, lib, hooks, types, payload) - .env.example template with all required variables - standalone output mode for production Docker builds Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
41 lines
885 B
YAML
41 lines
885 B
YAML
services:
|
|
app:
|
|
build:
|
|
context: .
|
|
target: dev
|
|
ports:
|
|
- '3000:3000'
|
|
volumes:
|
|
- ./src:/app/src
|
|
- ./public:/app/public
|
|
- ./next.config.ts:/app/next.config.ts
|
|
- ./tailwind.config.ts:/app/tailwind.config.ts
|
|
- ./tsconfig.json:/app/tsconfig.json
|
|
- ./postcss.config.mjs:/app/postcss.config.mjs
|
|
environment:
|
|
- NODE_ENV=development
|
|
- WATCHPACK_POLLING=true
|
|
env_file:
|
|
- .env.local
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
|
|
db:
|
|
image: postgres:17-alpine
|
|
ports:
|
|
- '5432:5432'
|
|
environment:
|
|
POSTGRES_USER: axil
|
|
POSTGRES_PASSWORD: axil_dev
|
|
POSTGRES_DB: axil
|
|
volumes:
|
|
- pgdata:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ['CMD-SHELL', 'pg_isready -U axil']
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
volumes:
|
|
pgdata:
|