๐ฉโ๐ Firefighters API written in Gleam!
lustre
gleam
1ARG GLEAM_VERSION=v1.14.0
2ARG ERLANG_VERSION=28.0.2.0
3
4# builder stage ----------------------------------------------------------------
5FROM ghcr.io/gleam-lang/gleam:${GLEAM_VERSION}-scratch as gleam
6FROM docker.io/erlang:${ERLANG_VERSION}-alpine as builder
7
8COPY --from=gleam /bin/gleam /bin/gleam
9
10COPY ./shared /build/shared
11COPY ./client /build/client
12COPY ./server /build/server
13
14WORKDIR /build/shared
15RUN gleam deps download
16
17WORKDIR /build/client
18RUN gleam deps download
19
20WORKDIR /build/server
21RUN gleam deps download
22
23WORKDIR /build/client
24RUN gleam run -m lustre/dev build
25
26WORKDIR /build/server
27RUN gleam export erlang-shipment
28
29# runtime stage ----------------------------------------------------------------
30FROM docker.io/erlang:${ERLANG_VERSION}-alpine
31COPY --from=builder /build/server/build/erlang-shipment /app
32
33EXPOSE 8000
34WORKDIR /app
35ENTRYPOINT ["/app/entrypoint.sh"]
36CMD ["run"]