feat: deploy Codeg multi-agent workspace, Gitea hot/cold storage hub, and grill-me skill
This commit is contained in:
1 parent
c4f54203a4
commit
01a4681f98
18 files changed
+1238
-252
No files matched your search
Executable
+20
@@ -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
|
||||
Executable
+103
@@ -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"
|
||||
Executable
+36
@@ -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)"
|
||||
Reference in new issue
Block a user