44 lines
816 B
Docker
44 lines
816 B
Docker
## syntax=docker/dockerfile:1
|
|
#build container
|
|
FROM golang:1.21-alpine3.18 as build
|
|
WORKDIR /tmp/build
|
|
|
|
ARG TARGETPLATFORM TARGETOS TARGETARCH BUILDOS BUILDARCH
|
|
|
|
RUN apk update
|
|
RUN apk upgrade --available
|
|
RUN apk add alpine-sdk
|
|
|
|
#build bloaterbot
|
|
COPY . .
|
|
RUN go mod download
|
|
|
|
RUN mkdir /tmp/build/output
|
|
|
|
ARG CGO_ENABLED=1
|
|
|
|
ENV COMMIT=${COMMIT}
|
|
|
|
RUN go build -o /tmp/build/output/bloaterbot
|
|
|
|
#final container
|
|
FROM alpine:3.18
|
|
|
|
#update system and install packages
|
|
RUN apk update
|
|
RUN apk upgrade --available
|
|
RUN apk add --no-cache ffmpeg python3 py3-pip
|
|
|
|
RUN pip3 install --upgrade yt-dlp
|
|
|
|
WORKDIR /app
|
|
|
|
COPY --from=build /tmp/build/output/bloaterbot /app/bloaterbot
|
|
|
|
|
|
COPY bloater.webp /app/bloater.webp
|
|
COPY entrypoint.sh /app/entrypoint.sh
|
|
|
|
RUN chmod -x /app/entrypoint.sh
|
|
|
|
CMD ["/bin/ash", "/app/entrypoint.sh"]
|