mirror of
https://github.com/dokploy/dokploy.git
synced 2026-06-13 19:09:49 +00:00
33 lines
787 B
Docker
33 lines
787 B
Docker
|
|
FROM node:18-alpine AS base
|
||
|
|
ENV PNPM_HOME="/pnpm"
|
||
|
|
ENV PATH="$PNPM_HOME:$PATH"
|
||
|
|
RUN corepack enable
|
||
|
|
|
||
|
|
FROM base AS build
|
||
|
|
COPY . /usr/src/app
|
||
|
|
WORKDIR /usr/src/app
|
||
|
|
|
||
|
|
|
||
|
|
# Install dependencies
|
||
|
|
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --filter=./apps/api --frozen-lockfile
|
||
|
|
|
||
|
|
# Deploy only the dokploy app
|
||
|
|
|
||
|
|
ENV NODE_ENV=production
|
||
|
|
RUN pnpm --filter=./apps/api run build
|
||
|
|
RUN pnpm --filter=./apps/api --prod deploy /prod/api
|
||
|
|
|
||
|
|
RUN cp -R /usr/src/app/apps/api/.dist /prod/api/.dist
|
||
|
|
|
||
|
|
FROM base AS dokploy
|
||
|
|
WORKDIR /app
|
||
|
|
|
||
|
|
# Set production
|
||
|
|
ENV NODE_ENV=production
|
||
|
|
|
||
|
|
# Copy only the necessary files
|
||
|
|
COPY --from=build /prod/api/.dist ./.dist
|
||
|
|
COPY --from=build /prod/api/package.json ./package.json
|
||
|
|
COPY --from=build /prod/api/node_modules ./node_modules
|
||
|
|
|
||
|
|
CMD HOSTNAME=0.0.0.0 && pnpm start
|