- 前端 node:22-alpine 构建阶段(npm ci + vite build) - 运行时 python:3.14-slim + uv --frozen 冻结安装(依赖层独立缓存) - entrypoint: 数据卷为空时自动建库并导入 254 套样板 - SQLite 落数据卷 /app/db(HMC_DATABASE_URL 可切 MySQL); healthcheck /api/health - .dockerignore 排除构建无关资产; .gitattributes 强制 sh LF
16 lines
431 B
Bash
16 lines
431 B
Bash
#!/bin/sh
|
|
# 容器入口: 数据卷为空时自动建库并导入 254 套样板, 之后交给 CMD 启动服务
|
|
set -e
|
|
|
|
DB_FILE="/app/db/huamenchuang.db"
|
|
export PATH="/app/.venv/bin:$PATH"
|
|
|
|
mkdir -p /app/db
|
|
if [ ! -f "$DB_FILE" ]; then
|
|
echo "[entrypoint] 首次启动: 初始化数据库并导入样板数据..."
|
|
python -m huamenchuang.scripts.seed
|
|
echo "[entrypoint] 种子完成: 管理员 13800000000/123456"
|
|
fi
|
|
|
|
exec "$@"
|