blob: 0c0f36c7b96df3dd92eabf8b6fc42683a47c72c8 [file]
# This Dockerfile is for Google Cloud Run deployment
# See the grails-forge-web-netty subproject for the implementation
# Stage 1: Build the JAR
FROM gradle:7.6.1 as gradle
COPY --chown=gradle . /home/app
WORKDIR /home/app
RUN gradle grails-forge-web-netty:shadowJar --no-daemon
RUN gradle grails-forge-analytics-postgres:jar --no-daemon
# Stage 2: Build the native image
FROM ghcr.io/graalvm/graalvm-ce:java8-21.1.0 as graalvm
COPY --from=gradle /home/app/grails-forge-web-netty/build/libs/*.jar /home/app/server.jar
WORKDIR /home/app
RUN gu install native-image
RUN native-image --no-fallback -cp server.jar
# Stage 3: Prepare Server
FROM adoptopenjdk/openjdk11:alpine-slim
EXPOSE 8080
COPY --from=graalvm /home/app/grails-forge /app/grails-forge
ENTRYPOINT ["/app/grails-forge"]