hequ commited on
Commit
1d7e57f
·
verified ·
1 Parent(s): 5f19999

Create start.sh

Browse files
Files changed (1) hide show
  1. start.sh +61 -0
start.sh ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env sh
2
+
3
+ set -e
4
+
5
+ CONFIG_PATH="${CONFIG_PATH:-/CLIProxyAPI/config.yaml}"
6
+ PORT="${PORT:-8317}"
7
+ AUTH_DIR="${AUTH_DIR:-/data/auths}"
8
+
9
+
10
+ REMOTE_SECRET="${REMOTE_SECRET:-${MANAGEMENT_PASSWORD:-}}"
11
+ ALLOW_REMOTE="${ALLOW_REMOTE:-true}"
12
+ DISABLE_PANEL="${DISABLE_PANEL:-false}"
13
+
14
+ DEBUG="${DEBUG:-false}"
15
+ LOG_TO_FILE="${LOG_TO_FILE:-false}"
16
+ USAGE_STATS_ENABLED="${USAGE_STATS_ENABLED:-true}"
17
+ REQUEST_RETRY="${REQUEST_RETRY:-3}"
18
+ SWITCH_PROJECT="${SWITCH_PROJECT:-true}"
19
+ SWITCH_PREVIEW_MODEL="${SWITCH_PREVIEW_MODEL:-true}"
20
+
21
+
22
+ API_KEYS_INPUT="${API_KEYS:-}"
23
+ API_KEYS_YAML="[]"
24
+
25
+ if [ -n "$API_KEYS_INPUT" ]; then
26
+ tmp="/tmp/_keys.yaml"
27
+ : > "$tmp"
28
+ echo "$API_KEYS_INPUT" | tr ',' '\n' | sed 's/^[[:space:]]*//;s/[[:space:]]*$//' | sed '/^$/d' | \
29
+ while IFS= read -r key; do
30
+ esc=$(printf '%s' "$key" | sed 's/\\/\\\\/g; s/"/\\"/g')
31
+ printf ' - "%s"\n' "$esc" >> "$tmp"
32
+ done
33
+
34
+ if [ -s "$tmp" ]; then
35
+ API_KEYS_YAML="\n$(cat "$tmp")"
36
+ fi
37
+ fi
38
+
39
+ mkdir -p "$(dirname "$CONFIG_PATH")" "$AUTH_DIR"
40
+
41
+ cat > "$CONFIG_PATH" <<EOF
42
+ port: ${PORT}
43
+ remote-management:
44
+ allow-remote: ${ALLOW_REMOTE}
45
+ secret-key: "${REMOTE_SECRET}"
46
+ disable-control-panel: ${DISABLE_PANEL}
47
+ auth-dir: "${AUTH_DIR}"
48
+
49
+ debug: ${DEBUG}
50
+ logging-to-file: ${LOG_TO_FILE}
51
+ usage-statistics-enabled: ${USAGE_STATS_ENABLED}
52
+ request-retry: ${REQUEST_RETRY}
53
+
54
+ quota-exceeded:
55
+ switch-project: ${SWITCH_PROJECT}
56
+ switch-preview-model: ${SWITCH_PREVIEW_MODEL}
57
+
58
+ api-keys:${API_KEYS_YAML}
59
+ EOF
60
+
61
+ exec /CLIProxyAPI/cli-proxy-api --config "$CONFIG_PATH"