51 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Docker
		
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Docker
		
	
	
	
ARG GOLANG_VERSION="1.21.6"
 | 
						|
ARG DEBIAN_VERSION="bookworm"
 | 
						|
 | 
						|
FROM golang:${GOLANG_VERSION}-${DEBIAN_VERSION} AS build
 | 
						|
 | 
						|
ENV VERSION_PKG="go.fifitido.net/ytdl-web/version"
 | 
						|
ARG VERSION=latest
 | 
						|
ARG BUILD="unknown"
 | 
						|
ARG BUILD_DATE="unknown"
 | 
						|
ARG BUILT_BY="docker"
 | 
						|
 | 
						|
WORKDIR /app
 | 
						|
 | 
						|
COPY go.mod go.sum ./
 | 
						|
 | 
						|
RUN go mod download
 | 
						|
 | 
						|
COPY . .
 | 
						|
 | 
						|
RUN go build \
 | 
						|
    -ldflags=" \
 | 
						|
        -X $VERSION_PKG.Version=$VERSION \
 | 
						|
        -X $VERSION_PKG.Build=$BUILD \
 | 
						|
        -X $VERSION_PKG.BuildDate=$BUILD_DATE \
 | 
						|
        -X \"$VERSION_PKG.BuiltBy=$BUILT_BY\" \
 | 
						|
    " -o /ytdl-web .
 | 
						|
 | 
						|
FROM python:${DEBIAN_VERSION}
 | 
						|
 | 
						|
ARG YTDLP_VERSION="2023.12.30"
 | 
						|
 | 
						|
WORKDIR /app
 | 
						|
 | 
						|
# hadolint ignore=DL3008
 | 
						|
RUN apt-get update \
 | 
						|
    && apt-get install --no-install-recommends -y wget \
 | 
						|
    && wget --progress=dot:giga "https://github.com/yt-dlp/yt-dlp/releases/download/${YTDLP_VERSION}/yt-dlp" \
 | 
						|
    && install -pm755 yt-dlp /usr/bin/yt-dlp \
 | 
						|
    && apt-get clean && rm -rf /var/lib/apt/lists/*
 | 
						|
 | 
						|
COPY --from=build /ytdl-web ./
 | 
						|
 | 
						|
EXPOSE 8080
 | 
						|
 | 
						|
ENV YTDL_HTTP_PORT=8080 \
 | 
						|
    YTDL_HTTP_LISTEN=0.0.0.0 \
 | 
						|
    YTDL_BINARYPATH=/usr/bin/yt-dlp \
 | 
						|
    YTDL_CONFIGDIR=/config
 | 
						|
 | 
						|
ENTRYPOINT [ "./ytdl-web" ]
 |