Files
portal/Dockerfile
T

30 lines
682 B
Docker

FROM node:22-alpine AS builder
WORKDIR /app
# Install dependencies first (better layer caching)
COPY package.json package-lock.json ./
RUN npm ci
# Copy source and build
COPY . .
ENV DATABASE_URL="postgresql://dummy:dummy@localhost:5432/dummy"
ENV BETTER_AUTH_SECRET="build-time-placeholder-not-used"
RUN npm run build
# Production image
FROM node:22-alpine
WORKDIR /app
# Only copy what we need for production
COPY --from=builder /app/build ./build
COPY --from=builder /app/package.json ./
COPY --from=builder /app/package-lock.json ./
# Install production dependencies only (including dotenv)
RUN npm ci --omit=dev
EXPOSE 3001
CMD ["node", "-r", "dotenv/config", "build"]