1
0
mirror of https://github.com/aNNiMON/ffmpegbot synced 2024-09-19 22:54:20 +03:00

Reduce a docker image file size

This commit is contained in:
aNNiMON 2024-09-04 19:57:19 +03:00
parent f915f79137
commit 01ba6b102e

View File

@ -5,18 +5,23 @@ COPY build.gradle /home/gradle/java-code/
WORKDIR /home/gradle/java-code
RUN GRADLE_OPTS="-Xmx256m" gradle build --build-cache --stacktrace -i --no-daemon
FROM gradle:8.1.1-jdk17-alpine as builder
FROM gradle:8.1.1-jdk17-alpine AS builder
COPY --from=cache /home/gradle/cache_home /home/gradle/.gradle
COPY . /usr/src/java-code
WORKDIR /usr/src/java-code
RUN GRADLE_OPTS="-Xmx256m" gradle shadowJar --build-cache --stacktrace --no-daemon
FROM eclipse-temurin:17-jre-alpine
RUN apk add --no-cache python3 python3-dev py3-pip ffmpeg gcc g++ \
&& python3 -m pip install --break-system-packages --upgrade wheel yt-dlp pyrogram TgCrypto
# Using 3.11 here, otherwise it requires gcc and g++ to compile TgCrypto, resulting in 2x bigger image
FROM python:3.11-alpine
ENV JAVA_HOME=/opt/java/openjdk
COPY --from=eclipse-temurin:17-jre-alpine $JAVA_HOME $JAVA_HOME
ENV PATH="${JAVA_HOME}/bin:${PATH}"
RUN apk add --no-cache py3-pip ffmpeg \
&& python3 -m pip install --break-system-packages --no-cache-dir --upgrade \
wheel yt-dlp pyrogram TgCrypto
WORKDIR /app
COPY --from=builder /usr/src/java-code/build/libs/ffmpegbot-1.2-SNAPSHOT-all.jar .
COPY --from=builder /usr/src/java-code/build/libs/ffmpegbot-1.2-SNAPSHOT-all.jar ffmpegbot.jar
RUN mkdir input && mkdir output
COPY pytgfile.py .
COPY ffmpegbot-docker.yaml .
ENTRYPOINT ["java", "-jar", "/app/ffmpegbot-1.2-SNAPSHOT-all.jar", "docker"]
ENTRYPOINT ["java", "-jar", "/app/ffmpegbot.jar", "docker"]