ARG ERLANG_VERSION=28.0.2.0 ARG GLEAM_VERSION=v1.14.0 # Gleam stage FROM ghcr.io/gleam-lang/gleam:${GLEAM_VERSION}-scratch AS gleam # Build stage FROM erlang:${ERLANG_VERSION}-alpine AS build COPY --from=gleam /bin/gleam /bin/gleam COPY . /app/ RUN apk add --no-cache build-base WORKDIR /app RUN gleam export erlang-shipment # Final stage FROM erlang:${ERLANG_VERSION}-alpine RUN \ addgroup --system webapp && \ adduser --system webapp -g webapp COPY --from=build /app/build/erlang-shipment /app COPY healthcheck.sh /app/healthcheck.sh RUN chmod +x /app/healthcheck.sh HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 CMD [ "/app/healthcheck.sh" ] WORKDIR /app ENTRYPOINT ["/app/entrypoint.sh"] CMD ["run"]