feat: deploy Codeg multi-agent workspace, Gitea hot/cold storage hub, and grill-me skill

Browse Source
This commit is contained in:
Yin Kou committed 2026-11-07 01:41:54 +08:00
1 parent c4f54203a4
commit 01a4681f98
18 files changed
+1238 -252

No files matched your search

+20
View File
@@ -0,0 +1,20 @@
#!/usr/bin/env bash
# ==============================================================================
# start-codeg.sh — 启动 Codeg 多智能体协同工作台服务端 (M6 Mac mini 原生无头底座)
# 监听端口: 3080 (Web UI + JSON/WebSocket API)
# ==============================================================================
set -euo pipefail
export HOME="/Users/ixvii0iv"
export USER="ixvii0iv"
export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
export PATH="/Users/ixvii0iv/.local/bin:/Users/ixvii0iv/.antigravity-cli/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
export CODEG_PORT="3080"
export CODEG_HOST="0.0.0.0"
export CODEG_TOKEN="homelab2026"
export CODEG_STATIC_DIR="/Users/ixvii0iv/.local/share/codeg/web"
export CODEG_MCP_BIN="/Users/ixvii0iv/.local/bin/codeg-mcp"
exec /Users/ixvii0iv/.local/bin/codeg-server
+103
View File
@@ -0,0 +1,103 @@
#!/usr/bin/env bash
# ==============================================================================
# start-gitea.sh — 启动 Gitea 私有代码托管中枢 (Mac SSD 热层 + 极空间 NAS 冷层归档)
# HTTP 端口: 3005 | 内置 Git SSH 端口: 2222
# ==============================================================================
set -euo pipefail
export HOME="/Users/ixvii0iv"
export USER="ixvii0iv"
export USERNAME="ixvii0iv"
export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
export PATH="/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
HOT_DIR="/Users/ixvii0iv/homelab/stacks/git"
mkdir -p "$HOT_DIR/data/repositories" \
"$HOT_DIR/data/lfs" \
"$HOT_DIR/data/attachments" \
"$HOT_DIR/data/packages" \
"$HOT_DIR/data/repo-archive" \
"$HOT_DIR/custom/conf" \
"$HOT_DIR/log"
CONF_FILE="$HOT_DIR/custom/conf/app.ini"
if [ ! -f "$CONF_FILE" ]; then
SECRET_KEY=$(/opt/homebrew/opt/gitea/bin/gitea generate secret SECRET_KEY)
INTERNAL_TOKEN=$(/opt/homebrew/opt/gitea/bin/gitea generate secret INTERNAL_TOKEN)
JWT_SECRET=$(/opt/homebrew/opt/gitea/bin/gitea generate secret JWT_SECRET)
LFS_JWT_SECRET=$(/opt/homebrew/opt/gitea/bin/gitea generate secret LFS_JWT_SECRET)
cat > "$CONF_FILE" <<EOF
APP_NAME = HomeLab Git Hub (Mac SSD Hot + ZSpace 20TB Cold)
RUN_USER = ixvii0iv
RUN_MODE = prod
WORK_PATH = $HOT_DIR
[server]
PROTOCOL = http
DOMAIN = git.961504.xyz
ROOT_URL = https://git.961504.xyz/
HTTP_ADDR = 0.0.0.0
HTTP_PORT = 3005
DISABLE_SSH = false
START_SSH_SERVER = true
SSH_DOMAIN = 192.168.31.164
SSH_PORT = 2222
SSH_LISTEN_PORT = 2222
LFS_START_SERVER = true
LFS_JWT_SECRET = $LFS_JWT_SECRET
OFFLINE_MODE = false
[database]
DB_TYPE = sqlite3
PATH = $HOT_DIR/data/gitea.db
[repository]
ROOT = $HOT_DIR/data/repositories
DEFAULT_BRANCH = main
[lfs]
STORAGE_TYPE = local
PATH = $HOT_DIR/data/lfs
[attachment]
STORAGE_TYPE = local
PATH = $HOT_DIR/data/attachments
MAX_SIZE = 2048
MAX_FILES = 50
[packages]
STORAGE_TYPE = local
PATH = $HOT_DIR/data/packages
[repo-archive]
STORAGE_TYPE = local
PATH = $HOT_DIR/data/repo-archive
[security]
INSTALL_LOCK = true
SECRET_KEY = $SECRET_KEY
INTERNAL_TOKEN = $INTERNAL_TOKEN
PASSWORD_HASH_ALGO = pbkdf2
REVERSE_PROXY_TRUSTED_PROXIES = 127.0.0.0/8,100.64.0.0/10,192.168.0.0/16,::1/128
[oauth2]
JWT_SECRET = $JWT_SECRET
[service]
DISABLE_REGISTRATION = true
REQUIRE_SIGNIN_VIEW = false
ENABLE_NOTIFY_MAIL = false
ENABLE_REVERSE_PROXY_AUTHENTICATION = true
ENABLE_REVERSE_PROXY_AUTO_REGISTRATION = true
REVERSE_PROXY_AUTHENTICATION_USER = X-Webauth-User
[log]
MODE = console
LEVEL = Info
ROOT_PATH = $HOT_DIR/log
EOF
fi
exec /opt/homebrew/opt/gitea/bin/gitea web --work-path "$HOT_DIR" --custom-path "$HOT_DIR/custom" --config "$CONF_FILE"
+36
View File
@@ -0,0 +1,36 @@
#!/usr/bin/env bash
# ==============================================================================
# sync-git-to-nas.sh — 将 Mac mini 上的 Gitea 热层数据与大文件同步归档至极空间 Z4 20TB NAS
# ==============================================================================
set -euo pipefail
HOT_DIR="/Users/ixvii0iv/homelab/stacks/git/data"
COLD_DIR="/Users/ixvii0iv/nas/个人空间/Git_Cold_Storage"
if [ ! -d "/Users/ixvii0iv/nas/个人空间" ]; then
echo "[$(date '+%Y-%m-%d %H:%M:%S')] WARN: 极空间 NAS 未挂载,跳过冷存储同步"
exit 0
fi
mkdir -p "$COLD_DIR/lfs" "$COLD_DIR/attachments" "$COLD_DIR/packages" "$COLD_DIR/repo-archive" "$COLD_DIR/bundles" "$COLD_DIR/db"
# 1. 增量同步 LFS 大文件、Release 附件、制品包与归档
rsync -a "$HOT_DIR/lfs/" "$COLD_DIR/lfs/"
rsync -a "$HOT_DIR/attachments/" "$COLD_DIR/attachments/"
rsync -a "$HOT_DIR/packages/" "$COLD_DIR/packages/"
rsync -a "$HOT_DIR/repo-archive/" "$COLD_DIR/repo-archive/"
# 2. 将所有 Git 裸仓库打包为独立自包含的 .bundle 冷备文件(任何时候可直接 git clone 恢复)
if [ -d "$HOT_DIR/repositories" ]; then
find "$HOT_DIR/repositories" -maxdepth 2 -type d -name "*.git" | while read -r repo; do
rel_name=$(echo "${repo#$HOT_DIR/repositories/}" | tr '/' '_')
/usr/bin/git -C "$repo" bundle create "$COLD_DIR/bundles/${rel_name%.git}.bundle" --all >/dev/null 2>&1 || true
done
fi
# 3. 备份 Gitea SQLite 元数据快照
if [ -f "$HOT_DIR/gitea.db" ]; then
/usr/bin/sqlite3 "$HOT_DIR/gitea.db" ".backup '$COLD_DIR/db/gitea-latest.db'" 2>/dev/null || cp "$HOT_DIR/gitea.db" "$COLD_DIR/db/gitea-latest.db"
fi
echo "[$(date '+%Y-%m-%d %H:%M:%S')] OK: Git 热层仓库与 LFS 大文件已同步归档至极空间 ($COLD_DIR)"