36 lines
672 B
Docker
36 lines
672 B
Docker
FROM oven/bun:alpine AS baseimg
|
|
|
|
FROM baseimg AS dependencies
|
|
WORKDIR /build
|
|
|
|
COPY ./package*json ./
|
|
COPY ./bun.lockb ./
|
|
RUN bun install --production --no-progress && \
|
|
chown -R bun .
|
|
|
|
|
|
FROM dependencies as build-env
|
|
WORKDIR /build
|
|
|
|
RUN apk add --no-cache libwebp libwebp-tools
|
|
|
|
RUN bun install --no-progress
|
|
|
|
COPY . .
|
|
|
|
RUN bun run build.ts && \
|
|
chown -R bun .
|
|
|
|
|
|
FROM baseimg as deploy
|
|
WORKDIR /usr/src/bitch
|
|
HEALTHCHECK --timeout=3s \
|
|
CMD curl --fail http://localhost:8080/healthcheck || exit 1
|
|
RUN apk add --no-cache curl
|
|
COPY --from=dependencies /build .
|
|
COPY --from=build-env /build/assets ./assets
|
|
COPY . .
|
|
USER bun
|
|
|
|
EXPOSE 8080
|
|
CMD [ "bun", "run", "index.ts"] |