80 lines
2.8 KiB
Bash
80 lines
2.8 KiB
Bash
|
|
#!/bin/bash
|
|||
|
|
# ════════════════════════════════════════════════════════════════
|
|||
|
|
# 光湖 · Forgejo UI 自定义部署
|
|||
|
|
# 将光湖风格模板和样式部署到 Forgejo custom 目录
|
|||
|
|
# ════════════════════════════════════════════════════════════════
|
|||
|
|
|
|||
|
|
set -e
|
|||
|
|
|
|||
|
|
REPO_DIR="/data/guanghulab/repo"
|
|||
|
|
CUSTOM_SRC="$REPO_DIR/server/forgejo-custom"
|
|||
|
|
|
|||
|
|
# 查找 Forgejo custom 目录
|
|||
|
|
FORGEJO_CUSTOM=""
|
|||
|
|
|
|||
|
|
# 方法1: 从 app.ini 读取
|
|||
|
|
if [ -f /etc/gitea/app.ini ]; then
|
|||
|
|
CUSTOM_PATH=$(grep -A2 '\[other\]' /etc/gitea/app.ini 2>/dev/null | grep 'CUSTOM_PATH' | cut -d= -f2 | tr -d ' ')
|
|||
|
|
if [ -n "$CUSTOM_PATH" ]; then
|
|||
|
|
FORGEJO_CUSTOM="$CUSTOM_PATH"
|
|||
|
|
fi
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
# 方法2: 从 Forgejo 进程参数读取
|
|||
|
|
if [ -z "$FORGEJO_CUSTOM" ]; then
|
|||
|
|
FORGEJO_CUSTOM=$(cat /proc/$(pgrep -f 'forgejo web' | head -1)/cmdline 2>/dev/null | tr '\0' '\n' | grep -A1 'custom-path' | tail -1)
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
# 方法3: 默认路径
|
|||
|
|
if [ -z "$FORGEJO_CUSTOM" ]; then
|
|||
|
|
FORGEJO_CUSTOM="/data/guanghulab/forgejo/custom"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
echo "═══════════════════════════════════════"
|
|||
|
|
echo "光湖 · Forgejo UI 部署"
|
|||
|
|
echo "═══════════════════════════════════════"
|
|||
|
|
echo ""
|
|||
|
|
echo "Forgejo Custom 目录: $FORGEJO_CUSTOM"
|
|||
|
|
|
|||
|
|
# 创建目录
|
|||
|
|
mkdir -p "$FORGEJO_CUSTOM/templates/repo"
|
|||
|
|
mkdir -p "$FORGEJO_CUSTOM/public/assets/css"
|
|||
|
|
mkdir -p "$FORGEJO_CUSTOM/public/assets/img"
|
|||
|
|
|
|||
|
|
# 复制模板
|
|||
|
|
echo "▸ 部署自定义模板..."
|
|||
|
|
cp "$CUSTOM_SRC/templates/repo/home.tmpl" "$FORGEJO_CUSTOM/templates/repo/home.tmpl"
|
|||
|
|
echo "✅ 仓库首页模板"
|
|||
|
|
|
|||
|
|
# 复制 CSS
|
|||
|
|
echo "▸ 部署自定义样式..."
|
|||
|
|
cp "$CUSTOM_SRC/public/assets/css/guanghu.css" "$FORGEJO_CUSTOM/public/assets/css/guanghu.css"
|
|||
|
|
echo "✅ 光湖样式"
|
|||
|
|
|
|||
|
|
# 在 head 中注入自定义 CSS(通过 extra_links.tmpl)
|
|||
|
|
echo "▸ 注入自定义CSS到页面头部..."
|
|||
|
|
cat > "$FORGEJO_CUSTOM/templates/head/custom.tmpl" << 'CSSEOF'
|
|||
|
|
<link rel="stylesheet" href="{{AssetUrlPrefix}}/css/guanghu.css?v=1.0">
|
|||
|
|
CSSEOF
|
|||
|
|
echo "✅ CSS注入"
|
|||
|
|
|
|||
|
|
# 重启 Forgejo
|
|||
|
|
echo ""
|
|||
|
|
echo "▸ 重启 Forgejo..."
|
|||
|
|
systemctl restart forgejo
|
|||
|
|
sleep 3
|
|||
|
|
|
|||
|
|
if systemctl is-active --quiet forgejo; then
|
|||
|
|
echo "✅ Forgejo 已重启"
|
|||
|
|
else
|
|||
|
|
echo "❌ Forgejo 启动失败,请检查日志"
|
|||
|
|
exit 1
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
echo ""
|
|||
|
|
echo "═══════════════════════════════════════"
|
|||
|
|
echo "✅ Forgejo UI 部署完成!"
|
|||
|
|
echo ""
|
|||
|
|
echo "打开 https://guanghulab.com 查看效果"
|
|||
|
|
echo "═══════════════════════════════════════"
|