Newer
Older
PixelPaintWar / docker-compose.yml
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: