Update entrypoint.sh
Browse files- entrypoint.sh +29 -21
entrypoint.sh
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
set -e
|
| 3 |
|
| 4 |
# 1. 创建持久化挂载目录
|
| 5 |
-
mkdir -p /data/.claude /data/.codex /data/.cloudcli /data/app /data/.taskmaster /data/.cursor
|
| 6 |
|
| 7 |
# 2. 软链接映射到持久化盘
|
| 8 |
if [ ! -L "$HOME/.claude" ]; then
|
|
@@ -20,19 +20,24 @@ if [ ! -L "$HOME/.taskmaster" ]; then
|
|
| 20 |
ln -s /data/.taskmaster "$HOME/.taskmaster"
|
| 21 |
fi
|
| 22 |
|
| 23 |
-
# 增加对 .codex 的软链接映射
|
| 24 |
if [ ! -L "$HOME/.codex" ]; then
|
| 25 |
rm -rf "$HOME/.codex"
|
| 26 |
ln -s /data/.codex "$HOME/.codex"
|
| 27 |
fi
|
| 28 |
|
| 29 |
-
# 增加对 .cursor 的软链接映射
|
| 30 |
if [ ! -L "$HOME/.cursor" ]; then
|
| 31 |
rm -rf "$HOME/.cursor"
|
| 32 |
ln -s /data/.cursor "$HOME/.cursor"
|
| 33 |
fi
|
| 34 |
|
| 35 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 36 |
mkdir -p "$HOME/.claude"
|
| 37 |
cat <<EOF > "$HOME/.claude/settings.json"
|
| 38 |
{
|
|
@@ -55,16 +60,7 @@ cat <<EOF > "$HOME/.claude/settings.json"
|
|
| 55 |
},
|
| 56 |
"permissions": {
|
| 57 |
"allow": [
|
| 58 |
-
"Read",
|
| 59 |
-
"Write",
|
| 60 |
-
"Edit",
|
| 61 |
-
"Bash(*)",
|
| 62 |
-
"Glob",
|
| 63 |
-
"Grep",
|
| 64 |
-
"Agent",
|
| 65 |
-
"WebFetch",
|
| 66 |
-
"WebSearch",
|
| 67 |
-
"NotebookEdit"
|
| 68 |
]
|
| 69 |
},
|
| 70 |
"model": "sonnet[1m]",
|
|
@@ -74,10 +70,8 @@ cat <<EOF > "$HOME/.claude/settings.json"
|
|
| 74 |
}
|
| 75 |
EOF
|
| 76 |
|
| 77 |
-
# 自动生成 Codex 配置
|
| 78 |
mkdir -p "$HOME/.codex"
|
| 79 |
-
|
| 80 |
-
# 4.1 写入 config.toml
|
| 81 |
cat <<EOF > "$HOME/.codex/config.toml"
|
| 82 |
cli_auth_credentials_store = "file"
|
| 83 |
model_provider = "${CODEX_PROVIDER:-custom}"
|
|
@@ -89,15 +83,25 @@ wire_api = "responses"
|
|
| 89 |
requires_openai_auth = true
|
| 90 |
EOF
|
| 91 |
|
| 92 |
-
# 4.2 写入 auth.json 激活凭证
|
| 93 |
cat <<EOF > "$HOME/.codex/auth.json"
|
| 94 |
{
|
| 95 |
"OPENAI_API_KEY": "${CODEX_API_KEY:-sk-dummy-key}"
|
| 96 |
}
|
| 97 |
EOF
|
| 98 |
|
| 99 |
-
# 5 自动生成 Cursor 基础配置
|
| 100 |
-
mkdir -p "$HOME/.cursor"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 101 |
cat <<EOF > "$HOME/.cursor/cli-config.json"
|
| 102 |
{
|
| 103 |
"permissions": {
|
|
@@ -108,10 +112,14 @@ cat <<EOF > "$HOME/.cursor/cli-config.json"
|
|
| 108 |
],
|
| 109 |
"deny": []
|
| 110 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
| 111 |
"version": 1
|
| 112 |
}
|
| 113 |
EOF
|
| 114 |
|
| 115 |
-
# 6. 切换
|
| 116 |
cd /data/app
|
| 117 |
exec "$@"
|
|
|
|
| 2 |
set -e
|
| 3 |
|
| 4 |
# 1. 创建持久化挂载目录
|
| 5 |
+
mkdir -p /data/.claude /data/.codex /data/.cloudcli /data/app /data/.taskmaster /data/.cursor /data/.config/cursor
|
| 6 |
|
| 7 |
# 2. 软链接映射到持久化盘
|
| 8 |
if [ ! -L "$HOME/.claude" ]; then
|
|
|
|
| 20 |
ln -s /data/.taskmaster "$HOME/.taskmaster"
|
| 21 |
fi
|
| 22 |
|
|
|
|
| 23 |
if [ ! -L "$HOME/.codex" ]; then
|
| 24 |
rm -rf "$HOME/.codex"
|
| 25 |
ln -s /data/.codex "$HOME/.codex"
|
| 26 |
fi
|
| 27 |
|
|
|
|
| 28 |
if [ ! -L "$HOME/.cursor" ]; then
|
| 29 |
rm -rf "$HOME/.cursor"
|
| 30 |
ln -s /data/.cursor "$HOME/.cursor"
|
| 31 |
fi
|
| 32 |
|
| 33 |
+
# 增加对 Linux 配置目录 ~/.config/cursor 的软链接映射
|
| 34 |
+
mkdir -p "$HOME/.config"
|
| 35 |
+
if [ ! -L "$HOME/.config/cursor" ]; then
|
| 36 |
+
rm -rf "$HOME/.config/cursor"
|
| 37 |
+
ln -s /data/.config/cursor "$HOME/.config/cursor"
|
| 38 |
+
fi
|
| 39 |
+
|
| 40 |
+
# 3. 自动生成 settings.json (Claude)
|
| 41 |
mkdir -p "$HOME/.claude"
|
| 42 |
cat <<EOF > "$HOME/.claude/settings.json"
|
| 43 |
{
|
|
|
|
| 60 |
},
|
| 61 |
"permissions": {
|
| 62 |
"allow": [
|
| 63 |
+
"Read", "Write", "Edit", "Bash(*)", "Glob", "Grep", "Agent", "WebFetch", "WebSearch", "NotebookEdit"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 64 |
]
|
| 65 |
},
|
| 66 |
"model": "sonnet[1m]",
|
|
|
|
| 70 |
}
|
| 71 |
EOF
|
| 72 |
|
| 73 |
+
# 4. 自动生成 Codex 配置
|
| 74 |
mkdir -p "$HOME/.codex"
|
|
|
|
|
|
|
| 75 |
cat <<EOF > "$HOME/.codex/config.toml"
|
| 76 |
cli_auth_credentials_store = "file"
|
| 77 |
model_provider = "${CODEX_PROVIDER:-custom}"
|
|
|
|
| 83 |
requires_openai_auth = true
|
| 84 |
EOF
|
| 85 |
|
|
|
|
| 86 |
cat <<EOF > "$HOME/.codex/auth.json"
|
| 87 |
{
|
| 88 |
"OPENAI_API_KEY": "${CODEX_API_KEY:-sk-dummy-key}"
|
| 89 |
}
|
| 90 |
EOF
|
| 91 |
|
| 92 |
+
# 5. 自动生成 Cursor 凭证与基础配置(关键点!)
|
| 93 |
+
mkdir -p "$HOME/.cursor" "$HOME/.config/cursor"
|
| 94 |
+
|
| 95 |
+
# 5.1 写入 Linux 认证凭证文件 auth.json
|
| 96 |
+
cat <<EOF > "$HOME/.config/cursor/auth.json"
|
| 97 |
+
{
|
| 98 |
+
"accessToken": "${CURSOR_API_KEY:-}",
|
| 99 |
+
"apiKey": "${CURSOR_API_KEY:-}"
|
| 100 |
+
}
|
| 101 |
+
EOF
|
| 102 |
+
cp -f "$HOME/.config/cursor/auth.json" "$HOME/.cursor/auth.json"
|
| 103 |
+
|
| 104 |
+
# 5.2 写入基础 cli-config.json
|
| 105 |
cat <<EOF > "$HOME/.cursor/cli-config.json"
|
| 106 |
{
|
| 107 |
"permissions": {
|
|
|
|
| 112 |
],
|
| 113 |
"deny": []
|
| 114 |
},
|
| 115 |
+
"authInfo": {
|
| 116 |
+
"email": "user@cloudcli.local",
|
| 117 |
+
"displayName": "Cursor User"
|
| 118 |
+
},
|
| 119 |
"version": 1
|
| 120 |
}
|
| 121 |
EOF
|
| 122 |
|
| 123 |
+
# 6. 切换工作目录并启动
|
| 124 |
cd /data/app
|
| 125 |
exec "$@"
|