💡
Next.js + Bun + Docker で環境構築
概要
Next.jsの環境構築の備忘録
bun使っていきたいけど、ローカルに入れずにDockerで動かしたい
そのため無理やりDocker内でbun入れて、create-next-appしてみました
環境
- Next.js:v14.0.3(App Router)
- Bun:v1.0.15
- Docker:v24.0.6
- Biome:v1.4.1
- NextUI:v2.2.9
bun(Docker内)でcreate-next-appしてみる
bunを入れてdockerを立ち上げる
docker-compose.yml
version: '3'
services:
app:
build: .
container_name: app
ports:
- 3000:3000
volumes:
- ./:/app
tty: true
FROM oven/bun:latest
だけだと落ちてしまうので、以下の状態で一旦立ち上げる
多分もっといい方法がある
Dockerfile
FROM debian
RUN apt-get update && apt-get install -y \
zip \
unzip \
curl
RUN curl -fsSL https://bun.sh/install | bash
WORKDIR /app
docker立ち上げ
docker compose up -d
コンテナに入る
docker compose exec app bash
create-next-appが対話型だとなぜかフリーズするので、オプションで指定する
bunx create-next-app [app名] --ts --tailwind --app --src-dir --use-bun --eslint No
※bun install でエラーが出た時 ↓
Dockerの設定確認
gRPC FUSE
にチェックしておかないと、bun install
で失敗するので注意
理由はよくわかっていないが、この辺りを参考にした
再度buildする
これで一旦基盤は完成したので、こちらに直してbuildしなおす
Dockerfile
FROM oven/bun:latest
WORKDIR /app
CMD ["bun", "dev"]
docker compose up --build -d
ここまでで本記事の本題は以上です
以下には環境構築で他におこなったことを記載しています
Git
初期化
git init
linter & formatter
Biome を入れました
以下の記事に詳細を書いています
コンポーネントのデザイン
shadcn/ui を入れました
以下の記事に詳細を書いています
Discussion