Files
Siteforge/Dockerfile
T
nmemmert 288baae676 Fix version commit SHA showing as unknown in Docker (v1.0.1)
The runtime image doesn't include .git, so git rev-parse failed at
startup. Fix: pass COMMIT_SHA as a Docker build arg from github.sha
in CI and bake it into the image as an ENV var, which config.js
already prefers over running git.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-16 08:00:29 -04:00

38 lines
791 B
Docker

FROM node:22-alpine AS build
WORKDIR /app
COPY package*.json ./
RUN npm ci --legacy-peer-deps
COPY . .
RUN npm run build
FROM node:22-alpine AS runtime
WORKDIR /app
ENV NODE_ENV=production
ENV PORT=4173
ARG COMMIT_SHA=unknown
ENV COMMIT_SHA=${COMMIT_SHA}
COPY package*.json ./
RUN npm ci --omit=dev --legacy-peer-deps
COPY --from=build /app/dist ./dist
COPY server.js ./server.js
COPY server/ ./server/
COPY --from=build /app/A_Study_of_Titus.pdf ./A_Study_of_Titus.pdf
# Copy seed data to a separate directory so the entrypoint can seed /app/data
# only when no live data exists yet — upgrades never overwrite existing data.
COPY data ./data-seed
RUN mkdir -p /app/data
COPY entrypoint.sh ./entrypoint.sh
RUN chmod +x ./entrypoint.sh
EXPOSE 4173
ENTRYPOINT ["./entrypoint.sh"]