| ```dockerfile | |
| FROM node:20-alpine | |
| WORKDIR /app | |
| # Install dependencies first for better caching | |
| COPY package.json package-lock.json* ./ | |
| RUN npm install --omit=dev | |
| # Copy server files | |
| COPY rosalinda-server/server.js ./ | |
| COPY rosalinda-server/server-ollama.js ./ | |
| # Create necessary directories | |
| RUN mkdir -p /app/logs | |
| # Expose port | |
| EXPOSE 3000 | |
| # Health check | |
| HEALTHCHECK --interval=30s --timeout=3s \ | |
| CMD wget -qO- http://localhost:3000/health || exit 1 | |
| # Start command with error handling | |
| CMD ["node", "server.js"] | |
| ``` |