mirror of
https://github.com/Dokploy/website.git
synced 2026-06-15 20:25:25 +02:00
- Copied openapi.json to the docs public folder for easier access. - Updated paths in generated documentation files to reference the new location of openapi.json. - Ensured all references to openapi.json are consistent across documentation files.
42 lines
1.1 KiB
Docker
42 lines
1.1 KiB
Docker
FROM node:20.9-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/docs --frozen-lockfile
|
|
|
|
# Copy openapi.json to docs public folder
|
|
RUN mkdir -p /usr/src/app/apps/docs/public && \
|
|
cp /usr/src/app/public/openapi.json /usr/src/app/apps/docs/public/openapi.json
|
|
|
|
# Generate OpenAPI documentation
|
|
RUN pnpm --filter=./apps/docs run build:docs
|
|
|
|
# Deploy only the dokploy app
|
|
|
|
ENV NODE_ENV=production
|
|
RUN pnpm --filter=./apps/docs run build
|
|
RUN pnpm --filter=./apps/docs --prod deploy /prod/docs
|
|
|
|
RUN cp -R /usr/src/app/apps/docs/.next /prod/docs/.next
|
|
|
|
FROM base AS dokploy
|
|
WORKDIR /app
|
|
|
|
# Set production
|
|
ENV NODE_ENV=production
|
|
|
|
# Copy only the necessary files
|
|
COPY --from=build /prod/docs/.next ./.next
|
|
COPY --from=build /prod/docs/public ./public
|
|
COPY --from=build /prod/docs/package.json ./package.json
|
|
COPY --from=build /prod/docs/node_modules ./node_modules
|
|
|
|
EXPOSE 3000
|
|
CMD HOSTNAME=0.0.0.0 && pnpm start |