Ikyy commited on
Commit
532ddfa
·
verified ·
1 Parent(s): 9748d1b

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +42 -0
Dockerfile ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Dockerfile
2
+ FROM node:20-slim
3
+
4
+ # Set working directory
5
+ WORKDIR /app
6
+
7
+ # Install system dependencies
8
+ RUN apt-get update && apt-get install -y \
9
+ python3 \
10
+ make \
11
+ g++ \
12
+ && rm -rf /var/lib/apt/lists/*
13
+
14
+ # Copy backend files
15
+ COPY backend/package*.json ./backend/
16
+ WORKDIR /app/backend
17
+ RUN npm install --production
18
+
19
+ # Copy backend source
20
+ COPY backend/ ./
21
+
22
+ # Copy frontend files
23
+ WORKDIR /app/frontend
24
+ COPY frontend/package*.json ./
25
+ RUN npm install
26
+
27
+ # Copy frontend source and build
28
+ COPY frontend/ ./
29
+ RUN npm run build
30
+
31
+ # Back to app root
32
+ WORKDIR /app
33
+
34
+ # Expose port 7860 (required by Hugging Face)
35
+ EXPOSE 7860
36
+
37
+ # Health check
38
+ HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \
39
+ CMD node -e "require('http').get('http://localhost:7860/health', (r) => {process.exit(r.statusCode === 200 ? 0 : 1)})"
40
+
41
+ # Start the application
42
+ CMD ["node", "backend/server.js"]