- adds a Dockerfile to build the app in container
- adds app to the docker-compose.yml file
This commit is contained in:
21
Dockerfile
Normal file
21
Dockerfile
Normal file
@ -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"]
|
@ -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:
|
||||
|
Reference in New Issue
Block a user