Initial curated projectbrain source from 8a7b1e0651dbdab97d744cbd2e653ab3970ac6c5

This commit is contained in:
Public Source Publisher committed 2026-10-01 01:43:26 +02:00
commit 5aa3e8d685
700 files changed
+132801

No files matched your search

+31
View File
@@ -0,0 +1,31 @@
FROM node:24-alpine
WORKDIR /app
ENV CI=true
ENV COREPACK_ENABLE_DOWNLOAD_PROMPT=0
ENV npm_config_fetch_warn_timeout=60000
ENV PRISMA_SKIP_POSTINSTALL_GENERATE=true
# Prisma engines require OpenSSL at runtime. Alpine images do not always
# include it, which makes prisma migrate deploy fail with schema-engine JSON
# parse errors such as: Error loading shared library libssl.
RUN apk add --no-cache openssl libc6-compat ca-certificates
RUN corepack enable
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
COPY backend/package.json backend/package.json
COPY packages/contracts/package.json packages/contracts/package.json
RUN pnpm install --frozen-lockfile --filter projectbrain-api... > /tmp/pnpm-install.log 2>&1 || (cat /tmp/pnpm-install.log; exit 1); awk 'index($0, "[W" "ARN] Request took") == 0 { print }' /tmp/pnpm-install.log
COPY --chown=node:node packages/contracts packages/contracts
COPY --chown=node:node backend backend
WORKDIR /app/backend
RUN pnpm run prisma:generate && pnpm run build && chmod +x scripts/docker-entrypoint.sh
EXPOSE 4000
HEALTHCHECK --interval=15s --timeout=5s --start-period=30s --retries=10 CMD node -e "fetch('http://127.0.0.1:4000/api/system/readiness').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"
USER node
CMD ["sh", "scripts/docker-entrypoint.sh"]