Files
plainpages/Dockerfile

17 lines
453 B
Docker

# Node 24 runs TypeScript directly (type stripping) — no build step.
# Pinned to an exact, human-readable version (node / alpine).
FROM node:24.16.0-alpine3.24
WORKDIR /app
# Reproducible install from the committed lockfile. Dev deps (typescript, types)
# are kept so `npm run typecheck` / `npm test` work in the same image.
COPY package.json package-lock.json .npmrc ./
RUN npm ci
COPY . .
ENV PORT=3000
EXPOSE 3000
CMD ["node", "src/server.ts"]