Files
ljwx-pages/docker-compose.yml
brunoandClaude Sonnet 4.5 b2cc88aa6a 初始提交: 错题集应用核心功能实现
功能特性:
- ✅ 完整的后端API (FastAPI)
- ✅ 图片处理管线 (PaddleOCR + OpenCV)
- ✅ 手写去除功能
- ✅ Elasticsearch全文搜索
- ✅ MinIO对象存储集成
- ✅ Flutter跨平台前端架构
- ✅ Riverpod状态管理
- ✅ Docker容器化部署

技术栈:
- 后端: Python 3.9+, FastAPI, PostgreSQL, Elasticsearch, Redis
- 前端: Flutter 3.0+, Dart, Riverpod
- 图像处理: PaddleOCR, OpenCV
- 基础设施: Docker, MinIO

完成度:
- 后端核心功能: 85%
- 图片处理: 100%
- 前端数据层: 100%
- 前端UI: 20%

文档:
- 需求规格说明书
- 技术设计文档
- API接口文档
- 实施进度文档
- 快速启动脚本

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
2026-02-09 19:53:45 +08:00

71 lines
1.6 KiB
YAML

# docker-compose.yml
version: '3.8'
services:
api:
build:
context: ./backend
dockerfile: Dockerfile
ports:
- "8000:8000"
environment:
- DATABASE_URL=postgresql://user:password@postgres:5432/wrong_questions
- ELASTICSEARCH_URL=http://elasticsearch:9200
- STORAGE_ENDPOINT=minio:9000
- STORAGE_ACCESS_KEY=minioadmin
- STORAGE_SECRET_KEY=minioadmin
- STORAGE_BUCKET=wrong-questions
- DEBUG=True
depends_on:
- postgres
- elasticsearch
- minio
volumes:
- ./backend:/app
command: >
sh -c "alembic upgrade head &&
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload"
postgres:
image: postgres:16
environment:
POSTGRES_DB: wrong_questions
POSTGRES_USER: user
POSTGRES_PASSWORD: password
volumes:
- postgres_data:/var/lib/postgresql/data
ports:
- "5432:5432"
elasticsearch:
image: elasticsearch:8.11.0
environment:
- discovery.type=single-node
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- xpack.security.enabled=false
volumes:
- elasticsearch_data:/usr/share/elasticsearch/data
ports:
- "9200:9200"
minio:
image: minio/minio
command: server /data --console-address ":9001"
environment:
MINIO_ROOT_USER: minioadmin
MINIO_ROOT_PASSWORD: minioadmin
volumes:
- minio_data:/data
ports:
- "9000:9000"
- "9001:9001"
redis:
image: redis:7-alpine
ports:
- "6379:6379"
volumes:
postgres_data:
elasticsearch_data:
minio_data: