All checks were successful
Build and Deploy ytdlp-site / build-deploy (push) Successful in 1m35s
39 lines
1.1 KiB
Docker
39 lines
1.1 KiB
Docker
FROM golang:1.23.3-bookworm AS builder
|
|
ARG GIT_SHA="<not provided>"
|
|
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends --no-install-suggests wget
|
|
RUN wget -q -d https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp_linux -O /usr/local/bin/yt-dlp \
|
|
&& chmod +x /usr/local/bin/yt-dlp
|
|
|
|
ADD *.go /src/.
|
|
ADD config /src/config
|
|
ADD database /src/database
|
|
ADD ffmpeg /src/ffmpeg
|
|
ADD handlers /src/handlers
|
|
ADD media /src/media
|
|
ADD originals /src/originals
|
|
ADD playlists /src/playlists
|
|
ADD transcodes /src/transcodes
|
|
ADD users /src/users
|
|
ADD ytdlp /src/ytdlp
|
|
ADD go.mod /src/.
|
|
|
|
RUN cd /src && go mod tidy
|
|
RUN cd /src && go build -ldflags "-X ytdlp-site/config.gitSHA=${GIT_SHA} -X ytdlp-site/config.buildDate=$(date +%Y-%m-%d)" -o server *.go
|
|
|
|
FROM debian:bookworm-slim
|
|
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends --no-install-suggests \
|
|
ffmpeg \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
COPY --from=0 /usr/local/bin/yt-dlp /usr/local/bin/yt-dlp
|
|
COPY --from=0 /src/server /opt/server
|
|
ADD templates /opt/templates
|
|
ADD static /opt/static
|
|
|
|
WORKDIR /opt
|
|
CMD ["/opt/server"]
|