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