mirror of
https://github.com/livebook-dev/livebook.git
synced 2024-11-10 17:15:09 +08:00
39 lines
761 B
Text
39 lines
761 B
Text
|
# Stage 1: build
|
||
|
FROM hexpm/elixir:1.13.2-erlang-24.1.7-alpine-3.15.0 AS build
|
||
|
|
||
|
# Install build dependencies
|
||
|
RUN apk add --no-cache build-base git
|
||
|
|
||
|
WORKDIR /app
|
||
|
|
||
|
# Install hex and rebar
|
||
|
RUN mix local.hex --force && \
|
||
|
mix local.rebar --force
|
||
|
|
||
|
# Set build ENV
|
||
|
ENV MIX_ENV=prod
|
||
|
|
||
|
# Install mix dependencies
|
||
|
COPY mix.exs mix.lock ./
|
||
|
RUN mix do deps.get, deps.compile
|
||
|
|
||
|
# Compile and build release
|
||
|
COPY priv priv
|
||
|
COPY lib lib
|
||
|
RUN mix do compile, release
|
||
|
|
||
|
# Stage 2: release image
|
||
|
FROM alpine:3.15.0
|
||
|
|
||
|
# Install runtime dependencies
|
||
|
RUN apk add --no-cache openssl ncurses-libs libstdc++
|
||
|
|
||
|
WORKDIR /app
|
||
|
|
||
|
# Copy the release build from the previous stage.
|
||
|
COPY --from=build /app/_build/prod/rel/livebook_space ./
|
||
|
|
||
|
ENV HOME=/app
|
||
|
|
||
|
CMD [ "/app/bin/livebook_space", "start" ]
|