fix(deploy,docs): 修好 Docker 构建(缺 prisma generate)+ 新增 SQLite 单容器 compose

- Dockerfile:构建阶段补 `pnpm --filter @classhelper/server run db:generate`。生成产物 packages/server/src/generated/prisma 是 gitignored 的,而 pnpm install 用了 --ignore-scripts 跳过 postinstall,少了这一步 tsc 会报 "Cannot find module ../generated/prisma/client.js"(从 git clone 构建必踩)
- 新增 deploy/docker-compose.sqlite.yml + deploy/.env.sqlite.example:只跑服务端一个容器(DATABASE_URL=file:/app/data/classhelper.db + 数据卷),首次启动靠 AUTO_MIGRATE=true 自动建表与建管理员。适合内存小的机器或与别的服务共用一台机器(MySQL 变体会多一个数据库进程)
- docs/production.md:补 2.1 单容器变体说明(用法、适用场景、端口/生产自检注意事项、备份命令)
This commit is contained in:
LoveChengke committed 2026-09-27 18:34:19 +08:00
1 parent 5c27586af9
commit 9c678b3730
4 files changed
+119

No files matched your search

+5
View File
@@ -33,7 +33,12 @@ RUN pnpm install --frozen-lockfile --ignore-scripts
# 再拷贝源码并构建(只构建服务端与 Web 管理端,桌面客户端不参与)
COPY packages ./packages
COPY scripts ./scripts
# 必须先生成 Prisma Client:`pnpm install --ignore-scripts` 跳过了 postinstall,
# 而生成产物 `packages/server/src/generated/prisma` 是 gitignored 的(clone 下来没有),
# 少了这一步下面的 tsc 会报 "Cannot find module '../generated/prisma/client.js'"。
RUN pnpm build:shared \
&& pnpm --filter @classhelper/server run db:generate \
&& pnpm --filter @classhelper/server build \
&& pnpm --filter @classhelper/web-admin build