120308638f
This commit removes the `v` prefix in the version identifier assigned to PACK_VERSION build argument. The `pack` script actually available on Coolify's CDN, but named without `v` prefix in the script's version identifier. Related issue: #689, which reported that the `pack` script in the container image is a HTML 404 file instead of the actual `pack` executable.
54 lines
1.9 KiB
Docker
54 lines
1.9 KiB
Docker
ARG PNPM_VERSION=7.11.0
|
|
|
|
FROM node:18-slim as build
|
|
WORKDIR /app
|
|
|
|
RUN apt update && apt -y install curl
|
|
RUN npm --no-update-notifier --no-fund --global install pnpm@${PNPM_VERSION}
|
|
|
|
COPY . .
|
|
RUN pnpm install
|
|
RUN pnpm build
|
|
|
|
# Production build
|
|
FROM node:18-slim
|
|
WORKDIR /app
|
|
ENV NODE_ENV production
|
|
ARG TARGETPLATFORM
|
|
|
|
# https://download.docker.com/linux/static/stable/
|
|
ARG DOCKER_VERSION=20.10.18
|
|
# https://github.com/docker/compose/releases
|
|
# Reverted to 2.6.1 because of this https://github.com/docker/compose/issues/9704. 2.9.0 still has a bug.
|
|
ARG DOCKER_COMPOSE_VERSION=2.6.1
|
|
# https://github.com/buildpacks/pack/releases
|
|
ARG PACK_VERSION=0.27.0
|
|
|
|
RUN apt update && apt -y install --no-install-recommends ca-certificates git git-lfs openssh-client curl jq cmake sqlite3 openssl psmisc python3
|
|
RUN apt-get clean autoclean && apt-get autoremove --yes && rm -rf /var/lib/{apt,dpkg,cache,log}/
|
|
RUN npm --no-update-notifier --no-fund --global install pnpm@${PNPM_VERSION}
|
|
RUN npm install -g npm@${PNPM_VERSION}
|
|
|
|
RUN mkdir -p ~/.docker/cli-plugins/
|
|
|
|
RUN curl -SL https://cdn.coollabs.io/bin/$TARGETPLATFORM/docker-$DOCKER_VERSION -o /usr/bin/docker
|
|
RUN curl -SL https://cdn.coollabs.io/bin/$TARGETPLATFORM/docker-compose-linux-$DOCKER_COMPOSE_VERSION -o ~/.docker/cli-plugins/docker-compose
|
|
RUN curl -SL https://cdn.coollabs.io/bin/$TARGETPLATFORM/pack-$PACK_VERSION -o /usr/local/bin/pack
|
|
|
|
RUN chmod +x ~/.docker/cli-plugins/docker-compose /usr/bin/docker /usr/local/bin/pack
|
|
|
|
COPY --from=build /app/apps/api/build/ .
|
|
COPY --from=build /app/others/fluentbit/ ./fluentbit
|
|
COPY --from=build /app/apps/ui/build/ ./public
|
|
COPY --from=build /app/apps/api/prisma/ ./prisma
|
|
COPY --from=build /app/apps/api/package.json .
|
|
COPY --from=build /app/docker-compose.yaml .
|
|
COPY --from=build /app/apps/api/tags.json .
|
|
COPY --from=build /app/apps/api/templates.json .
|
|
|
|
RUN pnpm install -p
|
|
|
|
EXPOSE 3000
|
|
ENV CHECKPOINT_DISABLE=1
|
|
CMD pnpm start
|