Files
managing-apps/src/Managing.Web3Proxy/Dockerfile-web3proxy
2025-10-31 17:20:54 +07:00

38 lines
1.1 KiB
Plaintext

# --- Stage 1: Build & Install Dependencies ---
FROM node:22.14.0-alpine AS builder
WORKDIR /app
# Copy package.json and lock file (if used) from source subdir
COPY /src/Managing.Web3Proxy/package*.json ./
ENV NODE_ENV production
# Install dependencies (development dependencies are fine here)
RUN npm ci --no-audit --fund=false
# Copy the rest of the source code
COPY src/Managing.Web3Proxy/ .
# Run the build script
RUN npm run build
# --- Stage 2: Production Runtime ---
FROM node:22.14.0-alpine AS production
WORKDIR /app
# Copy essential files from the builder stage
COPY --from=builder /app/package*.json ./
COPY --from=builder /app/node_modules/ ./node_modules/
# Copy the compiled application code (assuming 'dist' is the output folder)
COPY --from=builder /app/dist/ ./dist/
# Set production environment again for the runtime stage
ENV NODE_ENV production
EXPOSE 4111
# Start the application from the compiled output
CMD ["fastify", "start", "-l", "info", "dist/app.js"]