translate-server/Dockerfile
2026-02-16 20:52:09 -06:00

46 lines
756 B
Docker

# Build stage
FROM node:24-alpine AS builder
# Install pnpm
RUN npm install -g pnpm
# Set working directory
WORKDIR /app
# Copy package files
COPY package.json pnpm-lock.yaml ./
# Install dependencies
RUN pnpm install --frozen-lockfile
# Copy source code
COPY . .
# Build TypeScript
RUN pnpm build
# Production stage
FROM node:24-alpine
# Install pnpm
RUN npm install -g pnpm
# Set working directory
WORKDIR /app
# Copy package files
COPY package.json pnpm-lock.yaml ./
# Install production dependencies only
RUN pnpm install --frozen-lockfile --prod
# Copy built application from builder stage
COPY --from=builder /app/dist ./dist
# Expose port (adjust if needed)
EXPOSE 5000
USER node
# Start the application
CMD ["node", "dist/index.js"]