diff --git a/README.md b/README.md index 1e16fc9..72b2c3f 100644 --- a/README.md +++ b/README.md @@ -30,3 +30,14 @@ npm run dev npm run typecheck npm run build ``` + +## 生产环境添加用户 + +生产环境通过 Docker Compose 在 API 容器内运行 npm 脚本,宿主机无需安装 Node.js 或 npm: + +```bash +docker compose -f compose.pro.yaml exec api \ + npm run user:add --workspace @cents/api -- '用户名' '至少8位的密码' +``` + +用户与唯一的“个人账本”会在同一个数据库事务内创建。 diff --git a/deploy/add-user.sh b/deploy/add-user.sh deleted file mode 100755 index a7e2f36..0000000 --- a/deploy/add-user.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -set -eu - -if [ "$#" -ne 2 ]; then - printf '用法:%s <用户名> <密码>\n' "$0" >&2 - exit 1 -fi - -project_dir=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd) - -exec docker compose \ - --project-directory "$project_dir" \ - -f "$project_dir/compose.pro.yaml" \ - exec -T api \ - npm run user:add --workspace @cents/api -- "$1" "$2" diff --git a/docs/账号与权限.md b/docs/账号与权限.md index ad04cc4..e74c8e9 100644 --- a/docs/账号与权限.md +++ b/docs/账号与权限.md @@ -16,10 +16,11 @@ PUBLIC_ORIGIN=https://cents.example.com npm run bootstrap --workspace @cents/api npm run user:add -- '用户名' '至少8位的密码' ``` -生产环境由包装脚本进入正在运行的 API 容器,宿主机不需要安装 Node.js 或 npm: +生产环境通过 Docker Compose 在 API 容器内运行 npm 脚本,宿主机不需要安装 Node.js 或 npm: ```bash -./deploy/add-user.sh '用户名' '至少8位的密码' +docker compose -f compose.pro.yaml exec api \ + npm run user:add --workspace @cents/api -- '用户名' '至少8位的密码' ``` 用户与个人账本在同一数据库事务内创建;用户名已存在或任一步失败时都不会留下半成品数据。