Skip to content
Snippets Groups Projects
Dockerfile 967 B
####
# Build locally:
#   docker build
#       --build-arg gitlab_token=<token>
#       -t nshmp-ws-static .
####

ARG BUILD_IMAGE=usgs/amazoncorretto:11
ARG FROM_IMAGE=usgs/amazoncorretto:11

FROM ${BUILD_IMAGE} as builder

ARG gitlab_token=null
ARG ci_job_token=null

# TODO: Token needed until nshmp-lib is public
ENV GITLAB_TOKEN ${gitlab_token}
ENV CI_JOB_TOKEN ${ci_job_token}

WORKDIR /app

COPY . .

RUN ./gradlew assemble

####
# Run service
####
FROM ${FROM_IMAGE}

# Path to the NetCDF file to use
ENV NETCDF_FILE src/main/resources/hazard-example.nc
ENV CONTEXT_PATH "/"
ENV CONTROLLER_PATH "/curves"
ENV JAVA_OPTS=""

WORKDIR /app

COPY --from=builder /app/build/libs/nshmp-ws-static-all.jar nshmp-ws-static.jar

ENTRYPOINT /usr/bin/java \
    ${JAVA_OPTS} \
    -jar \
    nshmp-ws-static.jar \
    "-Dmicronaut.server.context-path=${CONTEXT_PATH}" \
    -controller-path=${CONTROLLER_PATH} \
    -nshm=${NSHM} \
    -netcdf=${NETCDF_FILE}

EXPOSE 8080