Prepare isolated VPS UAT deployment bundle
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
FROM node:22.14.0-alpine AS web-build
|
||||
|
||||
WORKDIR /build/web
|
||||
COPY web/package.json web/package-lock.json ./
|
||||
RUN npm ci
|
||||
COPY web/ ./
|
||||
RUN npm run build -- --mode production
|
||||
|
||||
FROM hseeberger/scala-sbt:17.0.2_1.8.2_2.13.10 AS scala-build
|
||||
|
||||
WORKDIR /build
|
||||
COPY build.sbt ./
|
||||
COPY project/ ./project/
|
||||
COPY src/ ./src/
|
||||
RUN sbt clean assembly
|
||||
|
||||
FROM amazoncorretto:17-alpine
|
||||
|
||||
RUN addgroup -S weather && adduser -S -G weather weather
|
||||
WORKDIR /app
|
||||
RUN mkdir -p /app/data/tmp /app/data/grids /app/web/dist && chown -R weather:weather /app
|
||||
|
||||
COPY --from=scala-build --chown=weather:weather /build/target/scala-2.13/app.jar /app/app.jar
|
||||
COPY --from=web-build --chown=weather:weather /build/web/dist/ /app/web/dist/
|
||||
|
||||
USER weather
|
||||
EXPOSE 8080
|
||||
|
||||
HEALTHCHECK --interval=30s --timeout=5s --start-period=40s --retries=3 \
|
||||
CMD wget -q -O /dev/null http://127.0.0.1:8080/ || exit 1
|
||||
|
||||
CMD ["java", "-Xms128m", "-Xmx512m", "-XX:+UseG1GC", "-jar", "/app/app.jar"]
|
||||
Reference in New Issue
Block a user