# มิตซูชัยพร สมุทรสาคร — Astro + Express (static site) เว็บโคลนของ **www.mitsuthailand.com** (บริษัท มิตซูชัยพร จำกัด ศูนย์มิตซูบิชิ สมุทรสาคร) สร้างเป็น **Astro static site** ที่ serve ด้วย **Node/Express (server.js)** — pattern เดียวกับ `moreminimore-astroreal` ที่ deploy บน EasyPanel ผ่านแล้ว Content ต้นฉบับ clone ลงมาครบ (หน้า + ภาพ + script) และ URL ทั้งหมดเป็น **relative** — เปลี่ยนโดเมนได้โดยไม่ต้องแก้ไฟล์ --- ## 📁 โครงสร้าง ``` . ├── public/ ← หน้า HTML ต้นฉบับ (Astro copy ตรง → dist/) │ ├── index.html ← หน้าแรก (เหมือนต้นฉบับ) │ ├── catalog/item/… ← รายการสินค้า (10 รุ่น + request-form) │ ├── catalog/keyword/… ← หน้า keyword │ ├── catalog/brand|category|e-catalog|search │ ├── about-us/ contactus/ footer/ rfq/ │ ├── sites/ core/ themes/ ← CSS/JS (mirror โครงสร้างเดิม) │ └── assets/external/ ← รูปจาก media.yellowpages.co.th (โหลดมาแล้ว) ├── src/ │ ├── layouts/Base.astro ← Astro layout │ └── pages/example.astro ← ตัวอย่างหน้า Astro component ├── server.js ← Express: serve dist/ + inject env (port 4321) ├── astro.config.mjs, package.json ├── Dockerfile ← node build → node server.js └── .env.example (ตัวอย่าง env) ``` ## 🚀 Deploy (Docker / EasyPanel) ```bash docker build -t mitsu-chaiyaporn . docker run -d -p 8080:4321 mitsu-chaiyaporn ``` EasyPanel: สร้าง Service แบบ **Dockerfile** → repo นี้ → **container port = 4321** → deploy > ⚠️ **สำคัญ:** ใช้ **`4321`** (ไม่ใช่ 80) — pattern เดียวกับ moreminimore-astroreal > ที่ deploy ผ่านบน EasyPanel แล้ว --- ## 🧱 ทำไมหน้า content อยู่ใน public/ (ไม่ใช่ src/pages) หน้าที่ clone มาเป็น **HTML ของ Drupal ดิบ** — ถ้าใส่ใน `src/pages/` Astro จะพยายาม parse ผ่าน `ultrahtml` และพัง (HTML ไม่สมบูรณ์ของ Drupal) เลยวางใน `public/` → Astro copy ตรงๆ ไป `dist/` → **output เหมือนต้นฉบับ 100%** `server.js` ใช้ Express serve `dist/` + **inject environment variables** ลง HTML ตอนรัน (แทนที่ `${GA_ID}` `${FORM_EMAIL}` `${GMAP_EMBED}`) อยากแก้หน้าเป็น Astro component: ย้าย HTML ออกจาก `public/` → สร้าง `src/pages/…astro` → build ดู `src/pages/example.astro` + `src/layouts/Base.astro` --- ## 🔑 Environment Variables | ตัวแปร | ค่า default | ความหมาย | |--------|------------|----------| | `PORT` | `4321` | port ที่ Express ฟัง | | `GA_ID` | *(ว่าง=ปิด GA)* | Google Analytics / GTM ID | | `FORM_EMAIL` | `mail@mitsuchaiyaporn.com` | อีเมลรับฟอร์ม RFQ/ติดต่อ (FormSubmit) | | `GMAP_LAT` / `GMAP_LNG` | `13.557…/100.289…` | พิกัดแผนที่ (แบบฟรี ไม่ต้อง API key) | | `GMAP_EMBED` | *(จาก lat/lng)* | URL map เต็ม (override) | EasyPanel: Service → Environment → เพิ่มตัวแปร → Redeploy ```bash docker run --env "GA_ID=G-XXXX" --env "FORM_EMAIL=a@b.com" -p 8080:4321 mitsu-chaiyaporn ``` --- ## 📞 ข้อมูลติดต่อ - โทร: 034-836-738 ต่อ 9 / 034-422-230 · Line: @823bhcbq · FB: facebook.com/mitsuchaiyaporn - ที่อยู่: 923/249 ถนนเอกชัย ต.มหาชัย อ.เมืองสมุทรสาคร 74000 - เปิด: ศูนย์บริการ จ-ส 08:00-17:00 / ฝ่ายขาย ทุกวัน 08:00-17:00