2023-10-20 15:23:13 +03:00
|
|
|
FROM gradle:8.1.1-jdk17-alpine AS cache
|
2023-05-22 00:08:54 +03:00
|
|
|
RUN mkdir -p /home/gradle/cache_home
|
|
|
|
ENV GRADLE_USER_HOME=/home/gradle/cache_home
|
|
|
|
COPY build.gradle /home/gradle/java-code/
|
|
|
|
WORKDIR /home/gradle/java-code
|
|
|
|
RUN GRADLE_OPTS="-Xmx256m" gradle build --build-cache --stacktrace -i --no-daemon
|
|
|
|
|
2024-09-04 19:57:19 +03:00
|
|
|
FROM gradle:8.1.1-jdk17-alpine AS builder
|
2023-05-22 00:08:54 +03:00
|
|
|
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
|
|
|
|
|
2024-09-04 19:57:19 +03:00
|
|
|
# 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
|
2023-05-22 00:08:54 +03:00
|
|
|
WORKDIR /app
|
2024-09-04 19:57:19 +03:00
|
|
|
COPY --from=builder /usr/src/java-code/build/libs/ffmpegbot-1.2-SNAPSHOT-all.jar ffmpegbot.jar
|
2023-05-22 00:08:54 +03:00
|
|
|
RUN mkdir input && mkdir output
|
|
|
|
COPY pytgfile.py .
|
2023-05-22 22:26:22 +03:00
|
|
|
COPY ffmpegbot-docker.yaml .
|
2024-09-04 19:57:19 +03:00
|
|
|
ENTRYPOINT ["java", "-jar", "/app/ffmpegbot.jar", "docker"]
|