Stylique commited on
Commit
c53e20e
·
verified ·
1 Parent(s): 368b96d

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +32 -31
Dockerfile CHANGED
@@ -1,15 +1,26 @@
1
- FROM node:20-slim
2
-
3
- # Install system dependencies
4
- RUN apt-get update && apt-get install -y \
5
- # Chrome dependencies
 
 
 
 
 
 
 
 
 
6
  wget \
7
  gnupg \
8
  libnss3 \
 
9
  libatk1.0-0 \
10
  libatk-bridge2.0-0 \
11
  libcups2 \
12
  libdrm2 \
 
13
  libxkbcommon0 \
14
  libxcomposite1 \
15
  libxdamage1 \
@@ -17,43 +28,33 @@ RUN apt-get update && apt-get install -y \
17
  libxrandr2 \
18
  libgbm1 \
19
  libasound2 \
20
- libpangocairo-1.0-0 \
21
- # FFmpeg
22
- ffmpeg \
23
- # System tools
24
- ca-certificates \
25
- curl \
26
- && wget -q https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \
27
- && apt-get install -y ./google-chrome-stable_current_amd64.deb \
28
- && rm google-chrome-stable_current_amd64.deb \
29
  && apt-get clean \
30
  && rm -rf /var/lib/apt/lists/*
31
 
32
- # Create app directory
 
 
 
 
33
  WORKDIR /app
34
 
35
  # Copy package files
36
  COPY package*.json ./
37
 
38
- # Install dependencies (production only)
39
- RUN npm ci --only=production && npm cache clean --force
40
 
41
- # Copy application
42
  COPY . .
43
 
44
- # Environment variables
45
- ENV NODE_ENV=production
46
- ENV PORT=7860
47
- ENV CHROME_BIN=/usr/bin/google-chrome-stable
48
- ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
49
- ENV NODE_OPTIONS="--max-old-space-size=24576"
50
-
51
- # Health check
52
- HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
53
- CMD curl -f http://localhost:7860/health || exit 1
54
-
55
  # Expose port
56
  EXPOSE 7860
57
 
58
- # Start application
59
- CMD ["node", "server.js"]
 
1
+ FROM huggingface/transformers-pytorch-gpu:latest
2
+
3
+ # Install Node.js 20
4
+ RUN apt-get update && apt-get install -y ca-certificates curl gnupg && \
5
+ mkdir -p /etc/apt/keyrings && \
6
+ curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && \
7
+ echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list && \
8
+ apt-get update && \
9
+ apt-get install -y nodejs
10
+
11
+ # Install Remotion dependencies + GPU-accelerated FFmpeg + Google Chrome
12
+ RUN apt-get update && \
13
+ apt-get install -y \
14
+ ffmpeg \
15
  wget \
16
  gnupg \
17
  libnss3 \
18
+ libnspr4 \
19
  libatk1.0-0 \
20
  libatk-bridge2.0-0 \
21
  libcups2 \
22
  libdrm2 \
23
+ libdbus-1-3 \
24
  libxkbcommon0 \
25
  libxcomposite1 \
26
  libxdamage1 \
 
28
  libxrandr2 \
29
  libgbm1 \
30
  libasound2 \
31
+ libpango-1.0-0 \
32
+ libcairo2 \
33
+ && wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \
34
+ && echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list \
35
+ && apt-get update \
36
+ && apt-get install -y google-chrome-stable \
 
 
 
37
  && apt-get clean \
38
  && rm -rf /var/lib/apt/lists/*
39
 
40
+ # Set Chrome path for Remotion
41
+ ENV CHROME_BIN=/usr/bin/google-chrome-stable
42
+ ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
43
+ ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/google-chrome-stable
44
+
45
  WORKDIR /app
46
 
47
  # Copy package files
48
  COPY package*.json ./
49
 
50
+ # Install dependencies
51
+ RUN npm install
52
 
53
+ # Copy application files
54
  COPY . .
55
 
 
 
 
 
 
 
 
 
 
 
 
56
  # Expose port
57
  EXPOSE 7860
58
 
59
+ # Start server
60
+ CMD ["npm", "start"]