diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..15e8519 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,21 @@ +# Use Node.js 24 slim image +FROM node:24-slim + +# Set working directory +WORKDIR /app + +# Install dependencies first (for better caching) +COPY package*.json ./ +RUN npm install + +# Copy the rest of the code +COPY . . + +# Build project (for production) +RUN npm run build + +# Expose port if needed (optional, e.g., 3000) +EXPOSE 3000 + +# Run app in production mode +CMD ["node", "dist/index.js"] diff --git a/docker-compose.yml b/docker-compose.yml index 40be804..105bc34 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -7,6 +7,20 @@ services: - "27017:27017" volumes: - mongo_data:/data/db + app: + build: . + container_name: dailytrends_app + ports: + - "3000:3000" + environment: + - MONGO_URI=mongodb://mongo:27017/dailytrends + depends_on: + - mongo + volumes: + - .:/app + - /app/node_modules + command: npm run dev # for development + # change to "npm start" for production volumes: mongo_data: