version: "3.8"
services:
app:
container_name: pixel-paint-war-dev
# 開発用イメージ: Node.js v20 (定義書準拠)
image: mcr.microsoft.com/devcontainers/typescript-node:20
# 永続化とボリュームマウント
volumes:
# カレントディレクトリをコンテナ内の /workspace にマウント
- .:/workspace:cached
# 【重要】ここを追加してください
# コンテナ内の node_modules をホスト側と切り離して高速化・安定化させる設定
- node_modules:/workspace/node_modules
# コマンドの上書き (コンテナを常時起動させる)
command: sleep infinity
# ネットワーク設定
# Client(5173) と Server(3000) のポートを開放
ports:
- "5173:5173"
- "3000:3000"
# 環境変数
environment:
- NODE_ENV=development
# pnpmのストアをローカルと分離して高速化したい場合は設定推奨(今回はシンプルにします)
# ユーザー権限 (Nodeイメージ推奨のユーザー)
user: node
volumes:
node_modules: