Add containerized production user command
This commit is contained in:
parent
2db043cda6
commit
5a9c35841f
|
|
@ -0,0 +1,16 @@
|
|||
#!/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"
|
||||
|
|
@ -10,12 +10,18 @@ PUBLIC_ORIGIN=https://cents.example.com npm run bootstrap --workspace @cents/api
|
|||
|
||||
应用邀请使用 256 位随机 `key`,数据库只保存 SHA-256 摘要。链接固定 7 天过期并且只能创建一个账号。
|
||||
|
||||
管理员也可以直接添加用户:
|
||||
开发环境可以直接添加用户:
|
||||
|
||||
```bash
|
||||
npm run user:add -- '用户名' '至少8位的密码'
|
||||
```
|
||||
|
||||
生产环境由包装脚本进入正在运行的 API 容器,宿主机不需要安装 Node.js 或 npm:
|
||||
|
||||
```bash
|
||||
./deploy/add-user.sh '用户名' '至少8位的密码'
|
||||
```
|
||||
|
||||
用户与个人账本在同一数据库事务内创建;用户名已存在或任一步失败时都不会留下半成品数据。
|
||||
|
||||
新用户打开 `/invite?key=...` 后填写姓名和密码:
|
||||
|
|
|
|||
Loading…
Reference in New Issue