Add Dockerfile: Astro build + Express + SES

This commit is contained in:
Kunthawat Greethong
2026-07-01 10:34:28 +07:00
parent 236edb5f9f
commit 4fbeb01003

29
Dockerfile Normal file
View File

@@ -0,0 +1,29 @@
# ── MoreminiMore — Astro + Express + SES ─────────────────────────
# Build: npm run build → Runtime: node server.js (port 4321)
#
# Env vars:
# SES_ACCESS_KEY_ID (optional — SES email sending)
# SES_SECRET_ACCESS_KEY (optional)
# SES_REGION (default: ap-southeast-1)
# PORT (default: 4321)
FROM node:22-bookworm-slim
WORKDIR /app
# ── Dependencies ──────────────────────────────────────────────────
COPY package.json package-lock.json ./
RUN npm ci --omit=dev 2>/dev/null || npm ci
# ── Source + Build ───────────────────────────────────────────────
COPY . .
RUN npm run build
# ── Prune build-only deps (astro is ~200MB) ──────────────────────
# Keep: express, cors, nodemailer, @aws-sdk/client-ses
RUN npm prune --omit=dev 2>/dev/null; \
npm ls --depth=0 2>/dev/null || true
# ── Runtime ──────────────────────────────────────────────────────
EXPOSE 4321
CMD ["node", "server.js"]