Files
2026-05-11 10:41:36 +08:00

66 lines
2.1 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bash
# 交互式生成 env 文件
# 用法:bash configure-env.sh
set -euo pipefail
CONF_DIR=/var/container/data/datahub/env
SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
REPO_ROOT=$(cd "$SCRIPT_DIR/../../.." && pwd)
if [ ! -d "$CONF_DIR" ]; then
echo "[!] $CONF_DIR 不存在,请先执行: bash $SCRIPT_DIR/setup-data-dirs.sh" >&2
exit 1
fi
# ---------- 1. backend env ----------
BACKEND_ENV="$CONF_DIR/datahub-backend.env"
BACKEND_TPL="$REPO_ROOT/deploy/podman/env/datahub-backend.env.example"
if [ -f "$BACKEND_ENV" ]; then
echo "[=] $BACKEND_ENV 已存在,跳过"
else
cp "$BACKEND_TPL" "$BACKEND_ENV"
chmod 600 "$BACKEND_ENV"
echo "[+] 已生成 $BACKEND_ENV(如需调整 TOOLS_HOST 等参数请手动编辑)"
fi
# ---------- 2. frontend env:交互式询问 API_BASE_URL ----------
FRONTEND_ENV="$CONF_DIR/datahub-frontend.env"
CURRENT_VAL=""
if [ -f "$FRONTEND_ENV" ]; then
CURRENT_VAL=$(grep -E "^API_BASE_URL=" "$FRONTEND_ENV" | sed 's/^API_BASE_URL=//')
echo "[=] 当前 $FRONTEND_ENV 中 API_BASE_URL=$CURRENT_VAL"
fi
DEFAULT_IP=$(hostname -I 2>/dev/null | awk '{print $1}')
DEFAULT_URL="http://${DEFAULT_IP:-127.0.0.1}:9501"
SUGGEST="${CURRENT_VAL:-$DEFAULT_URL}"
echo
echo "请输入浏览器访问后端 API 的完整地址。"
echo "示例:http://192.168.1.100:9501 或 https://api.example.com"
read -rp "API_BASE_URL [$SUGGEST]: " INPUT
API_BASE_URL="${INPUT:-$SUGGEST}"
if ! [[ "$API_BASE_URL" =~ ^https?:// ]]; then
echo "[!] 地址必须以 http:// 或 https:// 开头" >&2
exit 1
fi
cat > "$FRONTEND_ENV" <<EOF
# 由 configure-env.sh 生成于 $(date -Iseconds)
API_BASE_URL=$API_BASE_URL
EOF
chmod 600 "$FRONTEND_ENV"
echo
echo "[+] 已写入 $FRONTEND_ENV"
echo " API_BASE_URL=$API_BASE_URL"
echo
echo "下一步:"
echo " 1. 创建/更新 podman secretsbash $SCRIPT_DIR/create-secrets.sh"
echo " 2. 构建镜像后启动 datahub-frontend.service(容器启动时会自动注入此 URL)"
echo " 3. 已运行的服务若要换 IP:编辑 $FRONTEND_ENV 后 systemctl --user restart datahub-frontend.service"