version: '3.8' services: postgres: image: postgres:15-alpine container_name: furniture-postgres environment: POSTGRES_USER: furniture POSTGRES_PASSWORD: furniture123 POSTGRES_DB: furniture_db ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data restart: unless-stopped redis: image: redis:7-alpine container_name: furniture-redis ports: - "6379:6379" volumes: - redis_data:/data restart: unless-stopped minio: image: minio/minio:latest container_name: furniture-minio command: server /data --console-address ":9001" environment: MINIO_ROOT_USER: minioadmin MINIO_ROOT_PASSWORD: minioadmin123 ports: - "9000:9000" - "9001:9001" volumes: - minio_data:/data restart: unless-stopped # DWG 转换服务(ODA 方案) # # 使用方法: # 1. 构建镜像:docker-compose -f docker-compose.dev.yml --profile dwg build dwg-converter # 2. 启动服务:docker-compose -f docker-compose.dev.yml --profile dwg up -d dwg-converter # # ODA File Converter 会自动从官方下载(约 100MB) # dwg-converter: build: context: . dockerfile: docker/Dockerfile.oda container_name: furniture-dwg-converter ports: - "3001:3001" volumes: - ./public/uploads:/app/uploads environment: - PYTHONUNBUFFERED=1 restart: unless-stopped profiles: - dwg # 使用 --profile dwg 启动此服务 volumes: postgres_data: redis_data: minio_data: