From 90c6c8392f3bc71099b6f2465f8dca975d33ed47 Mon Sep 17 00:00:00 2001 From: albert Date: Mon, 28 Jul 2025 13:03:49 +0200 Subject: [PATCH] - adds a Dockerfile to build the app in container - adds app to the docker-compose.yml file --- Dockerfile | 21 +++++++++++++++++++++ docker-compose.yml | 14 ++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 Dockerfile 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: