| FROM node:22 AS builder |
|
|
| WORKDIR /app |
|
|
| |
| RUN npm install -g pnpm |
|
|
| |
| RUN git clone https://github.com/corentinth/enclosed.git ./ |
|
|
| |
| RUN pnpm install --frozen-lockfile --ignore-scripts |
|
|
| |
| RUN pnpm --filter @enclosed/crypto run build && \ |
| pnpm --filter @enclosed/lib run build && \ |
| pnpm --filter @enclosed/app-client run build && \ |
| pnpm --filter @enclosed/app-server run build:node |
|
|
| FROM node:22-slim |
|
|
| WORKDIR /app |
|
|
| COPY --from=builder /app/packages/app-client/dist ./public |
| COPY --from=builder /app/packages/app-server/dist-node/index.cjs ./index.cjs |
|
|
| RUN mkdir -p /persistent/.data && \ |
| rm -rf /app/.data && \ |
| ln -s /persistent/.data /app/.data |
|
|
| RUN chmod -R 777 /persistent/.data |
|
|
| |
| ENV NODE_ENV=production |
| ENV PORT=7860 |
|
|
| |
| EXPOSE 7860 |
|
|
| |
| CMD ["node", "index.cjs"] |