goStatic がオススメ
goStaticの特徴はこちらです。
- 設定ファイル不要
- Go言語で書かれている
- 軽量コンテナ
たとえば、以下のコマンド一発で fallback 機能を使いつつ静的コンテンツを配信できます。
docker run -d -p 80:8043 -v $PWD/dist:/srv/http pierrezemb/gostatic -fallback index.html
Dockerfile を書くときも結構シンプルにできます。
# ビルド環境 FROM node:lts-alpine as build-stage WORKDIR /app COPY package*.json ./ RUN npm ci COPY . . RUN npm run build # 本番環境 FROM pierrezemb/gostatic as production-stage COPY --from=build-stage /app/dist /srv/http CMD ["-fallback", "index.html"] # port を変えたいのであればこちら # CMD ["-port", "8080", "-fallback", "index.html"]
僕はViteでプロダクションビルドした結果をgoStaticで配信する形を取りました。
個人的には node イメージで servor をインストールするよりオーバーヘッドが小さく、それでいてnginx イメージを使うよりも楽にできたなという印象です。 goStatic、使ってみてはいかがでしょうか。