- 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