diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..17ea788 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,23 @@ +FROM gradle:7.6-jdk17-alpine AS cache +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 + +FROM gradle:7.6-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 py3-pip ffmpeg \ + && python3 -m pip install --upgrade wheel \ + && python3 -m pip install --upgrade yt-dlp +WORKDIR /app +COPY --from=builder /usr/src/java-code/build/libs/ffmpegbot-1.0-SNAPSHOT-all.jar . +RUN mkdir input && mkdir output +COPY pytgfile.py . +COPY ffmpegbot.yaml . +ENTRYPOINT ["java", "-jar", "/app/ffmpegbot-1.0-SNAPSHOT-all.jar"] diff --git a/README.md b/README.md index b166c4a..c39d704 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,16 @@ Telegram Bot for re-encoding media ## Installation +### Using Docker + +```bash +cp ffmpegbot.yaml.template ffmpegbot.yaml +vim ffmpegbot.yaml +docker build --tag 'ffmpegbot' . +``` + +### Manual + ```bash # Build ./gradlew shadowJar