# docker-compose.yml
# FlaskとReactの両方のコンテナを定義

services:
  backend:
    # backend/Dockerfile を使ってイメージを作成
    build: ./backend

    # コンテナ名
    container_name: backend

    # ホスト（ローカル、自分のマシン）ポート6000 → コンテナポート6000（基本同じが良い
    ports:
      - "6000:6000"
    
    # ソースコードをコンテナ内の/appにマウント
    volumes:
      - ./backend:/app
    
    # 環境変数設定
    environment:
      - FLASK_ENV=development
      - FLASK_DEBUG=1
      - PORT=6000

    # Flask開発サーバ起動コマンド（ポート6000、開発モード）
    command: flask --app app.py run --host=0.0.0.0 --port=6000 --debug

  frontend:
    # frontend/Dockerfile を使ってイメージを作成
    build: ./frontend

    # コンテナ名
    container_name: frontend

    # ホスト（ローカル、自分のマシン）ポート5173 → コンテナポート5173（基本同じが良い）
    ports:
      - "5173:5173"
    
    # ソースコードをコンテナ内の/appにマウント
    volumes:
      - ./frontend:/app
      - /app/node_modules
    
    # 環境変数設定
    environment:
      - HOST=0.0.0.0
      - PORT=5173
      
    # React(Vite)開発サーバ起動コマンド（ポート5173、ホスト0.0.0.0）
    command: npm run dev -- --host 0.0.0.0 --port 5173

    # 他のコンテナ（backend）が起動してから起動するように設定
    depends_on:
      - backend
