services: # PostgreSQL Database db: image: postgres:16-alpine container_name: kumamoto-db environment: POSTGRES_USER: kumamoto POSTGRES_PASSWORD: kumamoto123 POSTGRES_DB: kumamoto_travel TZ: Asia/Seoul PGTZ: Asia/Seoul ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data restart: unless-stopped # Backend API Server api: image: node:20-alpine container_name: kumamoto-api working_dir: /app volumes: - ./server:/app - /app/node_modules ports: - "3000:3000" environment: DATABASE_URL: postgresql://kumamoto:kumamoto123@db:5432/kumamoto_travel NODE_ENV: development TZ: Asia/Seoul command: sh -c "npm install && npm run dev" depends_on: - db restart: unless-stopped # Frontend (Vite) web: image: node:20-alpine working_dir: /app volumes: - .:/app - /app/node_modules ports: - "5173:5173" environment: VITE_API_URL: http://localhost:3000 TZ: Asia/Seoul command: sh -c "npm install && npm run dev -- --host" container_name: kumamoto-travel-planner-dev depends_on: - api restart: unless-stopped volumes: postgres_data: