moodist/docker-compose.dev.yml
walle a3c95ec19b feat: 升级到 v3.0.0 - 独立音乐播放系统与 Docker 数据持久化
🎉 版本升级: 2.5.0 → 3.0.0

🎵 音乐播放系统重构:
- 独立的音乐播放系统,不影响当前选中声音
- 修复 React Hooks 调用错误
- 使用直接 Howl API 实现音频控制
- 添加播放/停止状态视觉反馈
- 组件显示逻辑完全分离

🐳 Docker 部署优化:
- 所有 compose 文件添加 SQLite 数据库挂载
- 支持 WAL 模式和并发写入
- 数据持久化,容器重启不丢失数据
- 创建详细的 Docker 数据库挂载文档

🎨 UI/UX 改进:
- 修复当前选中声音与音乐列表显示互斥问题
- 播放按钮状态动态显示
- 组件模块完全独立展示

🗄️ 数据库性能优化:
- 启用 WAL 模式提高并发性能
- 优化 SQLite 配置参数
- 添加详细日志和错误处理

📦 新增文件:
- docker-database-mount.md: Docker 数据库挂载说明文档
2025-11-19 15:21:49 +08:00

90 lines
No EOL
1.8 KiB
YAML

version: '3.8'
services:
moodist-dev:
# 构建上下文
build:
context: .
dockerfile: Dockerfile.optimized
target: builder # 只构建到builder阶段用于开发
args:
- NODE_ENV=development
- BUILD_DATE=${BUILD_DATE:-$(date -u +'%Y-%m-%dT%H:%M:%SZ')}
- VERSION=dev
- VCS_REF=${VCS_REF:-dev}
container_name: moodist-dev
restart: unless-stopped
# 开发端口映射
ports:
- "3000:3000" # Astro开发服务器
- "8080:8080" # 预览服务器
# 开发环境变量
environment:
- NODE_ENV=development
- TZ=Asia/Shanghai
# 卷挂载用于开发
volumes:
- .:/app
- /app/node_modules # 防止node_modules被覆盖
- moodist-dist:/app/dist
# 挂载 SQLite 数据库文件目录
- ./data:/app/data:rw
# 工作目录
working_dir: /app
# 开发命令
command: npm run dev
# 健康检查
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000/"]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
# 开发资源配置
deploy:
resources:
limits:
cpus: '1.0'
memory: 512M
reservations:
cpus: '0.25'
memory: 128M
# 日志配置
logging:
driver: "json-file"
options:
max-size: "5m"
max-file: "2"
networks:
- moodist-network
# 开发工具容器
dev-tools:
image: node:20-alpine
container_name: moodist-dev-tools
working_dir: /app
volumes:
- .:/app
networks:
- moodist-network
profiles:
- tools
command: sh -c "npm install && tail -f /dev/null"
volumes:
moodist-dist:
driver: local
networks:
moodist-network:
driver: bridge