discord-bot/Dockerfile
loki5512344 05f8e44213
fix(docker): robust jar glob, lavalink healthcheck + startup order, restrict 2333 to loopback
- COPY build/libs/*.jar instead of hardcoded discord-bot-1.0.0.jar (breaks on version bump)
- lavalink: add /v4/info healthcheck; bot waits for service_healthy before start;
  lavalink now depends on spotify-tokener
- lavalink host port bound to 127.0.0.1 (bot talks over docker network; no internet exposure)
- .dockerignore: exclude .github + lavalink/ from build context
2026-08-19 14:00:39 +02:00

21 lines
747 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/*.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"]