17 lines
453 B
Docker
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"]
|