ARG GLEAM_VERSION=v1.14.0 ARG ERLANG_VERSION=28.0.2.0 # builder stage ---------------------------------------------------------------- FROM ghcr.io/gleam-lang/gleam:${GLEAM_VERSION}-scratch as gleam FROM docker.io/erlang:${ERLANG_VERSION}-alpine as builder COPY --from=gleam /bin/gleam /bin/gleam COPY ./shared /build/shared COPY ./client /build/client COPY ./server /build/server WORKDIR /build/shared RUN gleam deps download WORKDIR /build/client RUN gleam deps download WORKDIR /build/server RUN gleam deps download WORKDIR /build/client RUN gleam run -m lustre/dev build WORKDIR /build/server RUN gleam export erlang-shipment # runtime stage ---------------------------------------------------------------- FROM docker.io/erlang:${ERLANG_VERSION}-alpine COPY --from=builder /build/server/build/erlang-shipment /app EXPOSE 8000 WORKDIR /app ENTRYPOINT ["/app/entrypoint.sh"] CMD ["run"]