feat(mobile,deploy): 接入安卓极光与华为通道并准备公网部署配置
客户端默认指向 jxd.jinniu.ink 的 HTTPS/WSS;登录后把 OpenIM userID 设为极光 alias。 华为 agconnect-services.json 不伪造、不入库。Master Secret 只从服务器文件注入。 Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
Executable
+35
@@ -0,0 +1,35 @@
|
||||
#!/usr/bin/env bash
|
||||
# 香港测试机公网部署入口(jxd.jinniu.ink)。由总工执行;施工员本卡不跑本脚本,也不 SSH 改现网。
|
||||
# 用法: ./scripts/deploy-public.sh
|
||||
# 回滚: ./scripts/rollback-public.sh
|
||||
set -euo pipefail
|
||||
cd "$(dirname "$0")/.."
|
||||
|
||||
if [ ! -f .env ]; then
|
||||
echo "没有 .env。先从 .env.example 复制,再按 deploy/public/.env.public.example 补公网项。" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 注入 Master Secret(失败则停,避免空密钥启动)
|
||||
# shellcheck disable=SC1091
|
||||
source ./scripts/load-jpush-secret.sh
|
||||
if [ -z "${JPUSH_MASTER_SECRET:-}" ]; then
|
||||
echo "Master Secret 未注入,拒绝启动" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p deploy/public/acme components/redis/config components/mnt/data components/mongodb components/etcd components/kafka
|
||||
touch components/redis/config/redis.conf
|
||||
|
||||
docker compose \
|
||||
-f docker-compose.yaml \
|
||||
-f deploy/public/docker-compose.public.yaml \
|
||||
pull
|
||||
|
||||
docker compose \
|
||||
-f docker-compose.yaml \
|
||||
-f deploy/public/docker-compose.public.yaml \
|
||||
up -d
|
||||
|
||||
echo "已提交 compose 启动。检查: docker compose -f docker-compose.yaml -f deploy/public/docker-compose.public.yaml ps"
|
||||
echo "证书未就绪时先用 nginx.bootstrap.conf 申请证书,见 deploy/public/README.md"
|
||||
Executable
+27
@@ -0,0 +1,27 @@
|
||||
#!/usr/bin/env bash
|
||||
# 从服务器安全文件注入极光 Master Secret 到环境变量。
|
||||
# 不打印文件内容、不写入仓库。供总工部署时 source,本卡不执行。
|
||||
set -euo pipefail
|
||||
|
||||
SECRET_FILE="${JPUSH_MASTER_SECRET_FILE:-/root/.config/jinxunda/jpush_master_secret}"
|
||||
|
||||
if [ ! -f "$SECRET_FILE" ]; then
|
||||
echo "缺少极光 Master Secret 文件(已配置路径,不打印内容)" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
perm=$(stat -c '%a' "$SECRET_FILE" 2>/dev/null || stat -f '%OLp' "$SECRET_FILE")
|
||||
if [ "$perm" != "600" ] && [ "$perm" != "400" ]; then
|
||||
echo "Master Secret 文件权限应为 600 或 400(当前 $perm)" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
len=$(wc -c < "$SECRET_FILE" | tr -d ' ')
|
||||
if [ "$len" -lt 16 ] || [ "$len" -gt 64 ]; then
|
||||
echo "Master Secret 文件长度异常(不打印内容)" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
JPUSH_MASTER_SECRET="$(tr -d '\n\r' < "$SECRET_FILE")"
|
||||
export JPUSH_MASTER_SECRET
|
||||
# 有意不 echo 该变量
|
||||
Executable
+12
@@ -0,0 +1,12 @@
|
||||
#!/usr/bin/env bash
|
||||
# 公网 overlay 回滚到内网 compose:停掉 edge,按原 docker-compose.yaml 拉起。
|
||||
# 不删除 components/ 与 data/,不改现网数据文件。
|
||||
set -euo pipefail
|
||||
cd "$(dirname "$0")/.."
|
||||
|
||||
docker compose -f docker-compose.yaml -f deploy/public/docker-compose.public.yaml stop edge || true
|
||||
docker compose -f docker-compose.yaml -f deploy/public/docker-compose.public.yaml rm -f edge || true
|
||||
|
||||
docker compose -f docker-compose.yaml up -d
|
||||
|
||||
echo "已回到内网 compose。数据目录未动。检查: docker compose ps"
|
||||
Reference in New Issue
Block a user