forked from extern/dockge
30 lines
870 B
Docker
30 lines
870 B
Docker
|
############################################
|
||
|
# Build
|
||
|
############################################
|
||
|
FROM louislam/dockge:base AS build
|
||
|
WORKDIR /app
|
||
|
COPY --chown=node:node ./package.json ./package.json
|
||
|
COPY --chown=node:node ./pnpm-lock.yaml ./pnpm-lock.yaml
|
||
|
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --prod --frozen-lockfile
|
||
|
|
||
|
############################################
|
||
|
# ⭐ Main Image
|
||
|
############################################
|
||
|
FROM louislam/dockge:base AS release
|
||
|
WORKDIR /app
|
||
|
COPY --chown=node:node . .
|
||
|
COPY --from=build /app/node_modules /app/node_modules
|
||
|
RUN mkdir ./data
|
||
|
|
||
|
VOLUME /app/data
|
||
|
EXPOSE 5001
|
||
|
ENTRYPOINT ["/usr/bin/dumb-init", "--"]
|
||
|
CMD ["tsx", "./backend/index.ts"]
|
||
|
|
||
|
|
||
|
############################################
|
||
|
# Mark as Nightly
|
||
|
############################################
|
||
|
FROM release AS nightly
|
||
|
RUN pnpm run mark-as-nightly
|