discord-bot/Dockerfile
loki5512344 356fa9cb48
chore: Java 26 + Gradle 9.7.0, all 20 deps updated, 1GB mem limit
- build.gradle: Gradle toolchain languageVersion 26 (auto-detects /usr/lib/jvm,
  no JAVA_HOME export needed), .java-version file for IDEs
- gradle wrapper 9.3.1 -> 9.7.0, spotless 6.25->8.10.0, spotbugs 4.9.3->4.10.3
- Dockerfile: eclipse-temurin 26-jdk/jre-alpine + -Xmx512m G1GC StringDedup
- docker-compose: bot mem_limit 1g
- CI workflows: setup-java 26
- deps: jda 6.5.0, lavaplayer 2.2.7, logback 1.6.3, slf4j 2.0.18 (stable),
  caffeine 3.2.4, sqlite 3.53.2.1, hikaricp 7.1.0, okhttp 5.5.0,
  junit 5.13.4 + launcher 1.13.4, mockito 5.23.0, bytebuddy 1.18.12,
  checkstyle 13.10.0 (toolVersion), spotbugs plugin 6.4.8, jsoup 1.22.2
- 458 tests green, build green without JAVA_HOME export
2026-08-19 13:53:11 +02:00

21 lines
763 B
Docker

FROM eclipse-temurin:26-jdk-alpine AS builder
WORKDIR /build
COPY gradle gradle
COPY gradlew settings.gradle build.gradle ./
COPY src src
RUN ./gradlew jar --stacktrace
FROM eclipse-temurin:26-jre-alpine
RUN addgroup -S bot && adduser -S bot -G bot
WORKDIR /app
COPY --from=builder /build/build/libs/discord-bot-1.0.0.jar app.jar
COPY data/prompts /app/prompts
COPY data/knowledge /app/knowledge
RUN mkdir -p /app/data /app/logs && chown -R bot:bot /app
USER bot
VOLUME /app/data
EXPOSE 8712
HEALTHCHECK --interval=30s --timeout=5s --start-period=15s \
CMD wget --no-verbose --tries=1 --spider http://localhost:8712/health || exit 1
ENV DB_PATH=/app/data/bot.db
ENTRYPOINT ["java", "-Xmx512m", "-XX:+UseG1GC", "-XX:+UseStringDeduplication", "-jar", "app.jar"]