Files
study-bible-project/Dockerfile
T
2026-05-28 08:32:33 -04:00

35 lines
1005 B
Docker

# ── Stage 1: Build the Vite frontend ────────────────────────────────────────
FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
# ── Stage 2: Production image ────────────────────────────────────────────────
FROM node:20-alpine
WORKDIR /app
# Copy package files and install production deps only
COPY package*.json ./
RUN npm ci --omit=dev
# Copy built frontend and server source
COPY --from=builder /app/dist ./dist
COPY server/ ./server/
# SQLite data directory — mount a volume here for persistence
# e.g. docker run -v /your/host/path:/app/server/data ...
RUN mkdir -p /app/server/data
EXPOSE 3001
ENV NODE_ENV=production
ENV PORT=3001
# Override DATA_DIR if you mount the volume elsewhere
ENV DATA_DIR=/app/server/data
CMD ["node", "server/index.js"]