44 lines
694 B
Docker
44 lines
694 B
Docker
FROM alpine:edge AS build
|
|
|
|
ENV ENV=production
|
|
WORKDIR /usr/src/app
|
|
|
|
RUN apk add --no-cache \
|
|
crystal \
|
|
shards \
|
|
openssl-dev \
|
|
yaml-dev \
|
|
sqlite-dev \
|
|
libevent-dev \
|
|
tzdata
|
|
|
|
COPY . .
|
|
|
|
RUN shards install --production
|
|
RUN shards build --release --no-debug --progress --stats
|
|
|
|
FROM alpine:latest AS runtime
|
|
|
|
ENV ENV=production
|
|
WORKDIR /usr/src/app
|
|
|
|
RUN apk add --no-cache \
|
|
gc-dev \
|
|
pcre2 \
|
|
libevent \
|
|
sqlite-libs \
|
|
openssl \
|
|
yaml \
|
|
gmp \
|
|
libgcc \
|
|
tzdata
|
|
|
|
RUN mkdir -p sqlite
|
|
|
|
COPY --from=build /usr/src/app/db db
|
|
COPY --from=build /usr/src/app/data data
|
|
COPY --from=build /usr/src/app/bin /usr/local/bin
|
|
|
|
EXPOSE 4000/tcp
|
|
CMD ["bit"]
|