Panduan Deployment Node Standalone & Docker untuk Astro SSR
Strategi mem-bundle aplikasi Astro SSR menjadi standalone Node server yang siap dideploy ke VPS atau container Docker dengan memory footprint minimal.
Setelah mengonfigurasi `@astrojs/node` dengan mode `standalone`, proses build (`astro build`) akan menghasilkan file server entry point di `dist/server/entry.mjs` dan aset statis yang dioptimasi di `dist/client/`.
Struktur Hasil Build SSR
- `dist/server/`: Berisi runtime server Node.js lengkap yang menangani routing dinamis, SSR rendering, dan API endpoints.
- `dist/client/`: Berisi CSS terkompilasi, font, gambar, dan bundle client JS yang siap disajikan dengan caching agresif.
Menjalankan Server Produksi
Untuk menjalankan server hasil build, kita hanya butuh perintah Node sederhana:
node ./dist/server/entry.mjs
Secara default, server berjalan di port `4321` dan mendengarkan pada `0.0.0.0` (atau `localhost`). Anda dapat mengontrol port dan host melalui environment variables `PORT` dan `HOST`:
PORT=8080 HOST=0.0.0.0 node ./dist/server/entry.mjs
Dengan menambahkan Dockerfile multi-stage, image akhir hanya berukuran beberapa puluh megabyte dan siap dideploy ke berbagai cloud provider.
Inspeksi Render Detail Post (Server-Side)
Komentar Pembaca1
Sangat clean! Penggunaan Node standalone sangat fleksibel dibanding serverless jika kita sudah punya cluster VPS.