Telegram bot for downloading media from any site using yt-dlp. Supports audio/video/both, quality selection, language picker, container format selection, playlist pagination, progress updates, per-user quotas, user preferences, download history, cancel at any step, polling and webhook modes, proxy support, and SQLite persistence.
25 lines
464 B
Docker
25 lines
464 B
Docker
FROM golang:1.26.4-alpine3.23 AS builder
|
|
|
|
WORKDIR /src
|
|
|
|
ARG HTTP_PROXY
|
|
ARG HTTPS_PROXY
|
|
ENV HTTP_PROXY=${HTTP_PROXY}
|
|
ENV HTTPS_PROXY=${HTTPS_PROXY}
|
|
|
|
COPY go.mod go.sum ./
|
|
RUN go mod download
|
|
COPY . .
|
|
RUN go build -o /usr/local/bin/uptodown-bot ./cmd/bot/
|
|
|
|
FROM alpine:3.23
|
|
|
|
RUN apk add --no-cache ffmpeg yt-dlp ca-certificates tzdata
|
|
|
|
WORKDIR /data
|
|
|
|
COPY --from=builder /usr/local/bin/uptodown-bot /usr/local/bin/uptodown-bot
|
|
VOLUME ["/data"]
|
|
|
|
CMD ["uptodown-bot"]
|