subsyt/Containerfile
Viktor Varland 26ddc8ac66
All checks were successful
build / build (push) Successful in 1m31s
feat: fix the container
2025-04-14 09:33:49 +02:00

62 lines
1.2 KiB
Docker

FROM docker.io/library/golang:1.24-alpine as builder
WORKDIR /src
COPY go.* .
RUN go mod download
COPY . .
RUN go build -o /src/build/subsyt .
FROM docker.io/library/alpine:3.21
RUN apk update && apk upgrade && apk add --no-cache \
bash \
ffmpeg \
aria2 \
pipx \
attr \
mutagen \
ca-certificates \
python3 \
py3-requests \
py3-certifi \
py3-brotli \
py3-mutagen \
py3-pycryptodomex \
py3-secretstorage \
py3-websockets
RUN mkdir -p /data/vids
COPY <<-EOT /data/config.toml
dry_run = false
out_dir = "/data/vids"
[provider]
[provider.youtube]
cmd = "/root/.local/bin/yt-dlp"
opml_file = "/data/opml.xml"
url = "https://www.youtube.com"
quality = "res:1080"
output_path_template = "s%(upload_date>%Y)s/%(channel)s.s%(upload_date>%Y)Se%(upload_date>%m%d)S.%(title)s.%(id)s-1080p.%(ext)s"
throttle = 5
range = "1:5:1"
after_date = ""
cookies_file = ""
po_token = ""
EOT
WORKDIR /app
RUN pipx ensurepath
RUN pipx install yt-dlp
RUN pipx inject yt-dlp yt-dlp-get-pot
RUN pipx inject yt-dlp bgutil-ytdlp-pot-provider
RUN source /root/.bashrc
COPY --from=builder /src/build/subsyt /app/subsyt
CMD [ "/app/subsyt", "--config=/data/config.toml" ]