| # 1) Build Dokploy Dashboard | |
| FROM node:20-alpine AS builder | |
| RUN apk add --no-cache git | |
| WORKDIR /build | |
| # Only shallow clone dashboard folder (HuggingFace friendly) | |
| RUN git clone --depth 1 --filter=blob:none --sparse https://github.com/Dokploy/dokploy.git | |
| WORKDIR /build/dokploy | |
| RUN git sparse-checkout set apps/dashboard | |
| WORKDIR /build/dokploy/apps/dashboard | |
| RUN npm install | |
| RUN npm run build | |
| # 2) Serve with NGINX on HuggingFace (port 7860) | |
| FROM nginx:alpine | |
| COPY --from=builder /build/dokploy/apps/dashboard/dist /usr/share/nginx/html | |
| EXPOSE 7860 | |
| CMD ["nginx", "-g", "daemon off;"] | |