From 4fbeb01003ee09c6b8058e3017ee722e9d7e9f73 Mon Sep 17 00:00:00 2001 From: Kunthawat Greethong Date: Wed, 1 Jul 2026 10:34:28 +0700 Subject: [PATCH] Add Dockerfile: Astro build + Express + SES --- Dockerfile | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..7483720 --- /dev/null +++ b/Dockerfile @@ -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"]