24 lines
599 B
Docker
24 lines
599 B
Docker
# Build client
|
|
FROM node:22-alpine AS client
|
|
WORKDIR /app/client
|
|
COPY client/package*.json ./
|
|
RUN npm ci || npm i
|
|
COPY client .
|
|
RUN npm run build
|
|
|
|
# Build server
|
|
FROM node:22-slim
|
|
RUN apt-get update && apt-get install -y ffmpeg curl && rm -rf /var/lib/apt/lists/*
|
|
RUN curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp \
|
|
&& chmod a+rx /usr/local/bin/yt-dlp
|
|
WORKDIR /app/server
|
|
COPY server/package*.json ./
|
|
RUN npm ci || npm i
|
|
COPY server .
|
|
|
|
# Move files to public folder
|
|
COPY --from=client /app/client/dist ./public
|
|
|
|
EXPOSE 3001
|
|
CMD ["npm", "start"]
|