Spaces:
Paused
Paused
Upload 3 files
Browse files- Dockerfile +1 -1
- entrypoint.sh +10 -12
Dockerfile
CHANGED
|
@@ -20,7 +20,7 @@ RUN apt-get update && apt-get install -y \
|
|
| 20 |
&& rm -rf /var/lib/apt/lists/*
|
| 21 |
|
| 22 |
# 安装 OpenCode
|
| 23 |
-
RUN
|
| 24 |
|
| 25 |
# 创建目录
|
| 26 |
RUN mkdir -p /home && chmod 777 /home
|
|
|
|
| 20 |
&& rm -rf /var/lib/apt/lists/*
|
| 21 |
|
| 22 |
# 安装 OpenCode
|
| 23 |
+
RUN npm i -g opencode-ai
|
| 24 |
|
| 25 |
# 创建目录
|
| 26 |
RUN mkdir -p /home && chmod 777 /home
|
entrypoint.sh
CHANGED
|
@@ -5,8 +5,6 @@ echo "nameserver 8.8.8.8" > /tmp/resolv.conf
|
|
| 5 |
echo "nameserver 8.8.4.4" >> /tmp/resolv.conf
|
| 6 |
cp /tmp/resolv.conf /etc/resolv.conf 2>/dev/null || true
|
| 7 |
|
| 8 |
-
export PATH="/root/.local/bin:$PATH"
|
| 9 |
-
|
| 10 |
# 日志级别配置(默认 warning,可选 debug/info/warning)
|
| 11 |
LOG_LEVEL="${LOG_LEVEL:-warning}"
|
| 12 |
|
|
@@ -44,13 +42,15 @@ log() {
|
|
| 44 |
;;
|
| 45 |
esac
|
| 46 |
|
| 47 |
-
# 额外过滤:
|
| 48 |
-
local
|
| 49 |
-
[ "$level" = "error" ] &&
|
| 50 |
-
[ "$level" = "warning" ] &&
|
|
|
|
|
|
|
| 51 |
|
| 52 |
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
|
| 53 |
-
if [ "$
|
| 54 |
echo "[$TIMESTAMP] [$level] $message" | tee -a "$LOG_DIR/entrypoint.log"
|
| 55 |
else
|
| 56 |
echo "[$TIMESTAMP] $message" >> "$LOG_DIR/entrypoint.log"
|
|
@@ -59,11 +59,8 @@ log() {
|
|
| 59 |
|
| 60 |
OPENCODE_LOG_FILE="${LOG_DIR}/opencode.log"
|
| 61 |
|
| 62 |
-
# 设置 OpenCode 路径
|
| 63 |
-
|
| 64 |
-
if [ -n "$OP_PATH" ]; then
|
| 65 |
-
export PATH="$OP_PATH:$PATH"
|
| 66 |
-
fi
|
| 67 |
|
| 68 |
# ============================================
|
| 69 |
# 启动 OpenCode(带 RAM 监控)
|
|
@@ -73,6 +70,7 @@ RAM_CHECK_INTERVAL=30
|
|
| 73 |
|
| 74 |
start_opencode() {
|
| 75 |
log info "=== 启动 OpenCode ==="
|
|
|
|
| 76 |
export OPENCODE_SERVER_USERNAME=${OPENCODE_SERVER_USERNAME}
|
| 77 |
export OPENCODE_SERVER_PASSWORD=${OPENCODE_SERVER_PASSWORD}
|
| 78 |
opencode serve --port 7860 --hostname 0.0.0.0 > "$OPENCODE_LOG_FILE" 2>&1 &
|
|
|
|
| 5 |
echo "nameserver 8.8.4.4" >> /tmp/resolv.conf
|
| 6 |
cp /tmp/resolv.conf /etc/resolv.conf 2>/dev/null || true
|
| 7 |
|
|
|
|
|
|
|
| 8 |
# 日志级别配置(默认 warning,可选 debug/info/warning)
|
| 9 |
LOG_LEVEL="${LOG_LEVEL:-warning}"
|
| 10 |
|
|
|
|
| 42 |
;;
|
| 43 |
esac
|
| 44 |
|
| 45 |
+
# 额外过滤:控制台输出级别
|
| 46 |
+
local show_on_console=false
|
| 47 |
+
[ "$level" = "error" ] && show_on_console=true
|
| 48 |
+
[ "$level" = "warning" ] && show_on_console=true
|
| 49 |
+
# debug 级别也显示到控制台(方便调试)
|
| 50 |
+
[ "$LOG_LEVEL" = "debug" ] && [ "$level" = "debug" ] && show_on_console=true
|
| 51 |
|
| 52 |
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
|
| 53 |
+
if [ "$show_on_console" = true ]; then
|
| 54 |
echo "[$TIMESTAMP] [$level] $message" | tee -a "$LOG_DIR/entrypoint.log"
|
| 55 |
else
|
| 56 |
echo "[$TIMESTAMP] $message" >> "$LOG_DIR/entrypoint.log"
|
|
|
|
| 59 |
|
| 60 |
OPENCODE_LOG_FILE="${LOG_DIR}/opencode.log"
|
| 61 |
|
| 62 |
+
# 设置 OpenCode 路径(npm 安装后已在 PATH 中)
|
| 63 |
+
export PATH="/root/.local/bin:/usr/local/bin:/usr/bin:/bin:$PATH"
|
|
|
|
|
|
|
|
|
|
| 64 |
|
| 65 |
# ============================================
|
| 66 |
# 启动 OpenCode(带 RAM 监控)
|
|
|
|
| 70 |
|
| 71 |
start_opencode() {
|
| 72 |
log info "=== 启动 OpenCode ==="
|
| 73 |
+
log debug "执行命令: opencode serve --port 7860 --hostname 0.0.0.0"
|
| 74 |
export OPENCODE_SERVER_USERNAME=${OPENCODE_SERVER_USERNAME}
|
| 75 |
export OPENCODE_SERVER_PASSWORD=${OPENCODE_SERVER_PASSWORD}
|
| 76 |
opencode serve --port 7860 --hostname 0.0.0.0 > "$OPENCODE_LOG_FILE" 2>&1 &
|