This commit is contained in:
@@ -57,6 +57,11 @@ vim ~/.config/dadaotask/env.production # 替换全部 __CHANGE_ME__
|
|||||||
|
|
||||||
必填项:`DATABASE_URL` / `MIGRATION_DATABASE_URL`(2.1 的口令)、`JWT_SECRET`(≥32 位随机串)、`REDIS_URL`、`WEB_DIST_DIR`、`UPLOAD_DIR`。
|
必填项:`DATABASE_URL` / `MIGRATION_DATABASE_URL`(2.1 的口令)、`JWT_SECRET`(≥32 位随机串)、`REDIS_URL`、`WEB_DIST_DIR`、`UPLOAD_DIR`。
|
||||||
|
|
||||||
|
两个踩过的坑:
|
||||||
|
|
||||||
|
- **`CORS_ORIGINS` 必须写成 JSON 数组**(`'["http://...","http://..."]'`)。它是 list 字段,逗号分隔的字符串会让 pydantic-settings 当 JSON 解析并抛 `SettingsError`,alembic 这一步就挂。
|
||||||
|
- **Redis 有口令**:fnsvr-01 的 redis 开了 `requirepass`(口令看 `docker inspect redis`),写进 URL 时要百分号编码(`#` → `%23`),否则连不上、发码/登录直接 500。
|
||||||
|
|
||||||
**当前状态是内测模式**:短信通道还没接(非 dev provider 直接 501),所以 `SMS_PROVIDER=dev` + `INTERNAL_TEST_LOGIN=true`,固定验证码 `123456`。启动日志会打 WARNING。**只允许内网访问**;短信通道接好后删掉 `INTERNAL_TEST_LOGIN` 并把 `SMS_PROVIDER` 换成真实供应商。
|
**当前状态是内测模式**:短信通道还没接(非 dev provider 直接 501),所以 `SMS_PROVIDER=dev` + `INTERNAL_TEST_LOGIN=true`,固定验证码 `123456`。启动日志会打 WARNING。**只允许内网访问**;短信通道接好后删掉 `INTERNAL_TEST_LOGIN` 并把 `SMS_PROVIDER` 换成真实供应商。
|
||||||
|
|
||||||
### 2.4 装服务单元
|
### 2.4 装服务单元
|
||||||
|
|||||||
@@ -61,10 +61,11 @@ step "4. 前端构建(只在服务器上、只用 HEAD 的源码)"
|
|||||||
( cd web && npm ci --no-audit --no-fund --registry="$NPM_REGISTRY" && npm run build )
|
( cd web && npm ci --no-audit --no-fund --registry="$NPM_REGISTRY" && npm run build )
|
||||||
test -f web/dist/index.html || die "前端构建产物缺失:web/dist/index.html"
|
test -f web/dist/index.html || die "前端构建产物缺失:web/dist/index.html"
|
||||||
|
|
||||||
step "5. 写入构建标记并重启服务"
|
step "5. 写入构建标记、刷新 systemd 单元并重启服务"
|
||||||
mkdir -p "$CONF_DIR" backend/var/uploads
|
mkdir -p "$CONF_DIR" "$HOME/.config/systemd/user" backend/var/uploads
|
||||||
chmod 700 "$CONF_DIR"
|
chmod 700 "$CONF_DIR"
|
||||||
printf 'BUILD_COMMIT=%s\nBUILD_TIME=%s\n' "$SHORT" "$(date -Iseconds)" >"$CONF_DIR/env.build"
|
cp deploy/prod/dadaotask-api.service "$HOME/.config/systemd/user/"
|
||||||
|
printf 'BUILD_COMMIT=%s\nBUILD_TIME=%s\n' "$SHORT" "$(TZ=Asia/Shanghai date -Iseconds)" >"$CONF_DIR/env.build"
|
||||||
chmod 600 "$CONF_DIR/env.build" "$ENV_FILE"
|
chmod 600 "$CONF_DIR/env.build" "$ENV_FILE"
|
||||||
systemctl --user daemon-reload
|
systemctl --user daemon-reload
|
||||||
systemctl --user enable "$SERVICE" >/dev/null 2>&1 || true
|
systemctl --user enable "$SERVICE" >/dev/null 2>&1 || true
|
||||||
|
|||||||
@@ -13,7 +13,10 @@ DATABASE_URL=postgresql+asyncpg://dadao_prod_app:__APP_PW__@192.168.8.160:8432/d
|
|||||||
MIGRATION_DATABASE_URL=postgresql+asyncpg://dadao_prod_owner:__OWNER_PW__@192.168.8.160:8432/dadaotask_prod
|
MIGRATION_DATABASE_URL=postgresql+asyncpg://dadao_prod_owner:__OWNER_PW__@192.168.8.160:8432/dadaotask_prod
|
||||||
|
|
||||||
# ── Redis:fnsvr-01 共享实例,独立 db 号隔离(不使用默认 0 号库)──────
|
# ── Redis:fnsvr-01 共享实例,独立 db 号隔离(不使用默认 0 号库)──────
|
||||||
REDIS_URL=redis://192.168.8.160:6379/6
|
# 该实例开了 requirepass(口令见 fnsvr-01 上 `docker inspect redis`),
|
||||||
|
# URL 里的口令必须百分号编码(例如 # → %23),否则 asyncpg/redis 解析失败:
|
||||||
|
# REDIS_URL=redis://:__REDIS_PW_URLENCODED__@192.168.8.160:6379/6
|
||||||
|
REDIS_URL=redis://:__REDIS_PW_URLENCODED__@192.168.8.160:6379/6
|
||||||
|
|
||||||
# ── 认证 ─────────────────────────────────────────────────────────────
|
# ── 认证 ─────────────────────────────────────────────────────────────
|
||||||
# 生产校验:长度 ≥ 32 且不是开发默认值
|
# 生产校验:长度 ≥ 32 且不是开发默认值
|
||||||
@@ -28,8 +31,9 @@ SMS_PROVIDER=dev
|
|||||||
SMS_DEV_CODE=123456
|
SMS_DEV_CODE=123456
|
||||||
SMS_THROTTLE_SECONDS=60
|
SMS_THROTTLE_SECONDS=60
|
||||||
|
|
||||||
# 同源部署(后端直接托管 web/dist),CORS 只留本机调试用
|
# 同源部署(后端直接托管 web/dist),CORS 只留本机调试用。
|
||||||
CORS_ORIGINS=http://127.0.0.1:8200,http://192.168.8.188:8200
|
# 注意:这是 list 字段,必须写成 JSON 数组(逗号分隔会被 pydantic-settings 当成 JSON 解析而报错)
|
||||||
|
CORS_ORIGINS='["http://192.168.8.188:8200","http://127.0.0.1:8200"]'
|
||||||
|
|
||||||
# ── 前端产物与上传目录(绝对路径)─────────────────────────────────────
|
# ── 前端产物与上传目录(绝对路径)─────────────────────────────────────
|
||||||
WEB_DIST_DIR=/home/openclaw/app/dadaotask/web/dist
|
WEB_DIST_DIR=/home/openclaw/app/dadaotask/web/dist
|
||||||
|
|||||||
Reference in New Issue
Block a user