mirror of
https://github.com/Dokploy/templates
synced 2025-06-26 18:16:07 +00:00
Refactor Dockerfile to simplify static file serving
This commit is contained in:
@@ -1,36 +1,16 @@
|
|||||||
FROM node:20.9-slim AS base
|
FROM node:20.9-slim
|
||||||
ENV PNPM_HOME="/pnpm"
|
|
||||||
ENV PATH="$PNPM_HOME:$PATH"
|
|
||||||
RUN corepack enable
|
|
||||||
|
|
||||||
FROM base AS build
|
|
||||||
COPY . /usr/src/app
|
|
||||||
WORKDIR /usr/src/app
|
|
||||||
|
|
||||||
RUN apt-get update && rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
# Install dependencies
|
|
||||||
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
|
|
||||||
|
|
||||||
# Deploy only the dokploy app
|
|
||||||
ENV NODE_ENV=production
|
|
||||||
RUN pnpm build
|
|
||||||
|
|
||||||
FROM base AS dokploy
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
# Set production
|
# Instalar serve globalmente
|
||||||
ENV NODE_ENV=production
|
RUN npm install -g serve
|
||||||
|
|
||||||
# Copy only the necessary files
|
# Copiar la carpeta templates
|
||||||
COPY --from=build /usr/src/app/dist ./dist
|
|
||||||
COPY --from=build /usr/src/app/package.json ./package.json
|
|
||||||
COPY --from=build /usr/src/app/node_modules ./node_modules
|
|
||||||
|
|
||||||
# Copy templates folder
|
|
||||||
COPY ../templates ./public/templates
|
COPY ../templates ./public/templates
|
||||||
|
COPY ../templates/index.html ./public/
|
||||||
|
|
||||||
# Expose port
|
# Exponer el puerto
|
||||||
EXPOSE 3000
|
EXPOSE 3000
|
||||||
|
|
||||||
CMD HOSTNAME=0.0.0.0 && pnpm start
|
# Servir los archivos estáticos
|
||||||
|
CMD ["serve", "-s", "public", "-l", "3000"]
|
||||||
Reference in New Issue
Block a user