nsecbunkerd/Dockerfile.local
tcheeric 738fb26dd2 fix(deps): update to patched NDK with NIP-46 fixes
- Update @nostr-dev-kit/ndk to use local patched version
- NDK patch fixes async error handling in NIP-46 backend
- Fixes nip44_encrypt requests not returning responses
- Bump version to 0.11.2

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-28 09:13:26 +00:00

45 lines
1010 B
Docker

FROM node:20.11-bullseye AS build
WORKDIR /app
# Install pnpm
RUN npm install -g pnpm
# Copy package files
COPY package*.json pnpm-lock.yaml ./
# Replace workspace:* with actual npm version for @nostr-dev-kit/ndk
RUN sed -i 's/"@nostr-dev-kit\/ndk": "workspace:\*"/"@nostr-dev-kit\/ndk": "^2.10.0"/' package.json
# Install dependencies
RUN pnpm install --no-frozen-lockfile
# Copy application files
COPY . .
# Generate prisma client and build the application
RUN npx prisma generate
RUN pnpm run build
# Runtime stage
FROM node:20.11-alpine as runtime
WORKDIR /app
RUN apk update && \
apk add --no-cache openssl && \
rm -rf /var/cache/apk/*
# Copy built files from the build stage
COPY --from=build /app .
# Install only runtime dependencies
RUN npm install -g pnpm && \
sed -i 's/"@nostr-dev-kit\/ndk": "workspace:\*"/"@nostr-dev-kit\/ndk": "^2.10.0"/' package.json && \
pnpm install --prod --no-frozen-lockfile
EXPOSE 3000
ENTRYPOINT [ "node", "./dist/index.js" ]
CMD ["start"]