44 lines
1.0 KiB
YAML
44 lines
1.0 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
# Production service
|
|
prisma:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: production
|
|
container_name: prisma-app
|
|
ports:
|
|
- "3000:3000"
|
|
environment:
|
|
- NODE_ENV=production
|
|
- GEMINI_API_KEY=${GEMINI_API_KEY}
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3000/"]
|
|
interval: 30s
|
|
timeout: 3s
|
|
start_period: 5s
|
|
retries: 3
|
|
|
|
# Development service
|
|
prisma-dev:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: development
|
|
container_name: prisma-dev
|
|
ports:
|
|
- "3000:3000"
|
|
environment:
|
|
- NODE_ENV=development
|
|
- GEMINI_API_KEY=${GEMINI_API_KEY}
|
|
volumes:
|
|
# Mount source code for hot reloading
|
|
- ./prisma:/app:delegated
|
|
# Use anonymous volumes for node_modules to prevent overwriting
|
|
- /app/node_modules
|
|
restart: unless-stopped
|
|
stdin_open: true
|
|
tty: true
|