SpyC0der77 commited on
Commit
f7bd470
·
verified ·
1 Parent(s): def5d5d

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +42 -0
Dockerfile ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Node (pnpm) ------------------------------------------------------------------
2
+ FROM node:22-slim AS ui
3
+ ENV PNPM_HOME="/pnpm"
4
+ ENV PATH="$PNPM_HOME:$PATH"
5
+ RUN corepack prepare pnpm@10.0.0 --activate && corepack enable
6
+ COPY . /usr/src/yt-dlp-webui
7
+
8
+ WORKDIR /usr/src/yt-dlp-webui/frontend
9
+
10
+ RUN rm -rf node_modules
11
+
12
+ RUN pnpm install
13
+ RUN pnpm run build
14
+ # -----------------------------------------------------------------------------
15
+
16
+ # Go --------------------------------------------------------------------------
17
+ FROM golang AS build
18
+
19
+ WORKDIR /usr/src/yt-dlp-webui
20
+
21
+ COPY . .
22
+ COPY --from=ui /usr/src/yt-dlp-webui/frontend /usr/src/yt-dlp-webui/frontend
23
+
24
+ RUN CGO_ENABLED=0 GOOS=linux go build -o yt-dlp-webui
25
+ # -----------------------------------------------------------------------------
26
+
27
+ # dependencies ----------------------------------------------------------------
28
+ FROM alpine:edge
29
+
30
+ RUN apk update && \
31
+ apk add ffmpeg yt-dlp ca-certificates curl wget psmisc
32
+
33
+ VOLUME /downloads /config
34
+
35
+ WORKDIR /app
36
+
37
+ COPY --from=build /usr/src/yt-dlp-webui/yt-dlp-webui /app
38
+
39
+ ENV JWT_SECRET=secret
40
+
41
+ EXPOSE 3033
42
+ ENTRYPOINT [ "./yt-dlp-webui" , "--out", "/downloads", "--conf", "/config/config.yml", "--db", "/config/local.db" ]