Complete implementation of the production line incident response system (生產線異常即時反應系統) including: Backend (FastAPI): - User authentication with AD integration and session management - Chat room management (create, list, update, members, roles) - Real-time messaging via WebSocket (typing indicators, reactions) - File storage with MinIO (upload, download, image preview) Frontend (React + Vite): - Authentication flow with token management - Room list with filtering, search, and pagination - Real-time chat interface with WebSocket - File upload with drag-and-drop and image preview - Member management and room settings - Breadcrumb navigation - 53 unit tests (Vitest) Specifications: - authentication: AD auth, sessions, JWT tokens - chat-room: rooms, members, templates - realtime-messaging: WebSocket, messages, reactions - file-storage: MinIO integration, file management - frontend-core: React SPA structure 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
65 lines
1.9 KiB
YAML
65 lines
1.9 KiB
YAML
# MinIO Object Storage for Task Reporter
|
|
# Usage: docker-compose -f docker-compose.minio.yml up -d
|
|
#
|
|
# This configuration starts MinIO for local development.
|
|
# Access MinIO Console at: http://localhost:9001
|
|
# S3 API endpoint at: http://localhost:9000
|
|
|
|
version: '3.8'
|
|
|
|
services:
|
|
minio:
|
|
image: minio/minio:latest
|
|
container_name: task-reporter-minio
|
|
ports:
|
|
- "9000:9000" # S3 API
|
|
- "9001:9001" # MinIO Console
|
|
environment:
|
|
MINIO_ROOT_USER: minioadmin
|
|
MINIO_ROOT_PASSWORD: minioadmin
|
|
command: server /data --console-address ":9001"
|
|
volumes:
|
|
- minio_data:/data
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
|
|
interval: 30s
|
|
timeout: 20s
|
|
retries: 3
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
minio_data:
|
|
driver: local
|
|
|
|
# ============================================================================
|
|
# Quick Start Guide
|
|
# ============================================================================
|
|
#
|
|
# 1. Start MinIO:
|
|
# docker-compose -f docker-compose.minio.yml up -d
|
|
#
|
|
# 2. Access MinIO Console:
|
|
# Open http://localhost:9001 in your browser
|
|
# Login: minioadmin / minioadmin
|
|
#
|
|
# 3. The application will automatically create the bucket on startup
|
|
# (configured as 'task-reporter-files' in .env)
|
|
#
|
|
# 4. Stop MinIO:
|
|
# docker-compose -f docker-compose.minio.yml down
|
|
#
|
|
# 5. Remove all data:
|
|
# docker-compose -f docker-compose.minio.yml down -v
|
|
#
|
|
# ============================================================================
|
|
# Production Notes
|
|
# ============================================================================
|
|
#
|
|
# For production deployment:
|
|
# - Change MINIO_ROOT_USER and MINIO_ROOT_PASSWORD to secure values
|
|
# - Use external volume or persistent storage
|
|
# - Configure TLS/HTTPS
|
|
# - Set up proper backup policies
|
|
# - Consider MinIO distributed mode for high availability
|
|
#
|