- 新增 Music 数据模型 + 迁移(title/subtitle/audioFile) - 后端:公共 /api/music 查询接口 + 管理端 CRUD (音频上传专用 multer,限制 20MB) - 移动端 /music/:id 播放页: - 金色印章式唱片 + 旋转虚线环 + 三重金色涟漪 - preload=auto + HTTP Range 流式加载 - 浏览器禁止 autoplay 时显示「轻点聆听」overlay - 自定义进度条与时间显示 - Admin:新增音乐管理三页(列表/表单/二维码)与侧栏入口 - 导入示例音乐:朝天宫之歌 - Dockerfile + entrypoint 增加 music 资产回灌 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
35 lines
1.1 KiB
Bash
35 lines
1.1 KiB
Bash
#!/bin/sh
|
|
set -e
|
|
|
|
cd /app
|
|
|
|
mkdir -p /app/data
|
|
mkdir -p /app/packages/server/uploads/stamps
|
|
mkdir -p /app/packages/server/uploads/articles
|
|
mkdir -p /app/packages/server/uploads/music
|
|
|
|
# Seed stamp assets on first run (idempotent)
|
|
if [ -z "$(ls -A /app/packages/server/uploads/stamps 2>/dev/null)" ]; then
|
|
echo "→ Seeding stamp assets into uploads volume..."
|
|
cp /app/stamps-seed/*.jpg /app/packages/server/uploads/stamps/ 2>/dev/null || true
|
|
fi
|
|
|
|
# Seed article assets on first run (idempotent)
|
|
if [ -z "$(ls -A /app/packages/server/uploads/articles 2>/dev/null)" ]; then
|
|
echo "→ Seeding article assets into uploads volume..."
|
|
cp /app/articles-seed/*.jpg /app/packages/server/uploads/articles/ 2>/dev/null || true
|
|
fi
|
|
|
|
# Seed music assets on first run (idempotent)
|
|
if [ -z "$(ls -A /app/packages/server/uploads/music 2>/dev/null)" ]; then
|
|
echo "→ Seeding music assets into uploads volume..."
|
|
cp /app/music-seed/* /app/packages/server/uploads/music/ 2>/dev/null || true
|
|
fi
|
|
|
|
echo "→ Applying database migrations..."
|
|
pnpm exec prisma migrate deploy
|
|
|
|
echo "→ Starting server on :${SERVER_PORT:-3000}..."
|
|
cd /app/packages/server
|
|
exec pnpm exec tsx src/index.ts
|